perm filename DIF2[M11,LCS] blob
sn#398772 filedate 1978-11-29 generic text, type T, neo UTF8
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,1
**** File 1) S2.F4[M11,LCS], Page 1 line 3
1) SUBROUTINE READIT
1) DOUBLE PRECISEION ITMPO,IRUN1,IRUN2,NAM,IPREC,IEDIT,IPLAY,IEND,
1) 1 ISECT,IFINI,ICOND,INSE
1) COMMON /Q/ BNW(100),NWZ /INS/INST(27),BG(60) /TYP/SOS,JOUT,
1) 1 LN,ITYP,TPALN(4),JED
1) CC 1 LN,ITYP,TPALN(4),JED /IFI/IFI
1) CC 7/74 COLGATE COMMON/TYP/ IS FOR COLTTY ROUT.
1) COMMON/VV/LIMIT, V(1) /A/ ROFF(27),NP(27),PCH(27,32),
1) 1 RDEV(27),IPT(27,31),XT(27),OTH(20,16)
1) 1 ,P1(27),COPY(30),IFM(80)
1) 1 ,INVIS(27)
1) DIMENSION IV(1),LIST(78),JNP(80),KNP(15)
1) C WITH VX,IOUT AT 70 AND IFM AT 80 OK FOR ONLY
**** File 2) SC2X.F4[M11,LCS], Page 1 line 3
2) C00001 00001
2) C00002 00002 SUBROUTINE READIT
2) C00027 00003 101 N=INP(ML)
2) C00051 00004 1106 KTMP=1
2) C00059 ENDMK
2) C⊗;
2) SUBROUTINE READIT
2) COMMON /PCIP/ PCH(27,102),IPT(27,101) /ERRFLG/ERRFLG
2) COMMON/P/P(1) /PL/PL(1) /COPY/NUMP
2) COMMON /Q/ BNW(200),NWZ /INS/INST(27),BG(60) /TYP/SOS,JOUT,
2) 1 LN,ITYP,TPALN(4),JED /NAMES/NA(100),LETRS(27),JNAM(27)
2) CC 1 LN,ITYP,TPALN(4),JED /IFI/IFI
2) CC 7/74 COLGATE COMMON/TYP/ IS FOR COLTTY ROUT.
2) COMMON /VV/LIMIT,V(1) /A/ROFF(27),NP(27)
2) 1,RDEV(27),XT(27),OTH(20,16),P1(27),JFM(4),IFM(80)
2) 1 ,FINM(6),TINST(5),ENFI(5),TEDIT(4),INVIS(27)
2) DIMENSION IV(1),LIST(78),JNP(80),KNP(15)
2) C WITH VX,IOUT AT 70 AND IFM AT 80 OK FOR ONLY
***************
**** File 1) S2.F4[M11,LCS], Page 1 line 18
1) COMMON P(30),J,L,CNT(27),BT,PL(48),MK,DF,DUR(27)
1) 1/E/IQ(27),KL,X,ZPAR,KA,LK,NNUM,JJ,JA,ISUB,NFLG,IXX,ISEMI,IQT
1) 1 ,INP(144),VX(70),ISCA(12),IDAT(11),IAMP,K,KN,M,ML,CODE,IBLA
1) COMMON/B/MOT,PR,T5,NINS,I,TP,RA,KZY,NWX,INONLY,MX,
1) 1 Y,Z,ISLAC,MZ,N,IDALL,JC,JG,RB,IJ,IX,BW,KB,NL,RC,W,
1) 1 ZZ,CHN,YY
1) 1 /C/LPAR,IPRN,QX,IRTRO,INVRT,ICON,LCNT,
1) 1 IPAREN,JZ,BY,MLX,IZ,ALL,JD,LEND,QTS,ITMP,
1) 1 LP,ILIT,NLIT,KTMP,IC,RAX,RD,IA
1) C /C/=26
1) EQUIVALENCE (VX1,VX(1)),(KNP,JNP,INP1,INP(1)),(IPP,ISCA(2))
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) 1 ,(ISS,ISCA(9)),(ITT,ISCA(11))
1) 1 ,(IE,ISCA(5)),(ID,ISCA(3)),(IF,ISCA(6)),(IAA,ISCA(10))
1) 1 ,(VX2,VX(2)),(VX3,VX(3)),(VX4,VX(4)),(IDOT,IDAT(11))
1) 1 ,(V,IV),(LIST,IFM(3)),(IG,ISCA(8))
1) DATA KSLA/'/'/,IRUN1/'RUN'/,IRUN2/'RUN;'/,IPREC/'PREC'/,IEDIT/'EDIT'/
1) 1,IPLAY/'PLAY'/,IEND/'END'/,ISECT/'SECT'/,IFINI/'FINI'/,ICOND
1) 1/'COND'/,INSE/'INSE'/
1) 1,IYY/'Y'/,IRR/'R'/
1) 1,IEN/'N'/,ITMPO/'TEMP'/
1) C *************** READS INPUT ***********************
1) KIMIT=LIMIT-100
1) C FOR WARNING ABOUT BUFFER OVERLOAD (LABEL 1774)
1) ICHD=0
1) LN=0
1) C ** LN IS COUNTER FOR LINES READ IN. FOR ERROR MESS.
1) 2308 IF(ITYP.LT.0)GO TO 2127
1) 3309 FORMAT(' TYPE INST NAME, ETC'/)
1) 2309 TYPE 3309
1) ACCEPT 8732,NAM,JNP
1) C** NAM SHOULD BE DBL PREC. (EQUIV TO NNM(2)) - EXPECTS NAMES TO USE 4 CHARS.
1) CX IF(NAM.EQ.' ')GO TO 2309
1) CHECK FOR TAB
1) 8732 FORMAT(A4,80A1)
1) 8734 FORMAT(1X,A4,80A1)
1) IF(JED.LT.0)CALL COLTTY(JNP,21)
1) CCC JFM(4)='80A1)'
1) C PUTS ON LPT AND TTY
1) GO TO 1074
1) CCC2127 IF(READER(JNP).LT.0)CALL RUNIT
1) C READS A LINE. IF END OF FILE, JUMPS.
1) 2127 READ(23,8732,END=197)NAM,JNP
1) LN=LN+1
1) CCC JFM(4)='80A1)'
1) 1074 IF(NAM.EQ.IBLA.OR.NAM.EQ.32347529280)GO TO 2308
1) C ABOVE FOR COMMENTS DOESN'T CATCH THIS WITH SOS FILES⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
1) C BIG NUM = '<'
1) CX IF(NAM.EQ.' ')GO TO 2308
1) CHECK FOR TAB
1) CCC JFM(1)=' (A'
1) C ********* THIS PROBABLY MUST BE CHANGED FOR PDP11 ********
1) CCC CALL FMT(JFM,JNP,MLX)
1) CCC REREAD JFM,J,JNP
1) 427 IF(JED.LT.0)GO TO 4271
1) IF(K.EQ.IYY)GO TO 4271
1) C K CHECK IS TO PASS AFTER RETYPING
1) 4309 FORMAT(' RETYPE LINE?'/)
1) TYPE 4309
1) ACCEPT 8732,K
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) IF(K.EQ.IYY)GO TO 2309
1) IF(K.EQ.IG)JED=-1
1) C**** USE 1ST WD OF DBL PREC. HERE NNM(1),NNM(2)
1) 4271 IF(NAM.EQ.IBLA)GO TO 2308
1) CHECKS FOR SPACE(IBLA)
1) MLX=1
1) IZ=0
1) JA=-1
1) ISUB=4
1) IF(NAM.EQ.IRUN2)GO TO 197
1) IF(NAM.NE.IRUN1)GO TO 464
1) 197 CALL RUNIT
1) 464 CALL CLEAN(INP,LEND)
1) C CLEANS OUT = AND , AND FINDS LINE LENGTH.
1) TYPE 8734,NAM,(INP(K),K=1,LEND)
1) ALL=1.
1) VX1=0
1) VX2=0
1) VX3=0
1) LK=-1
1) K=0
1) IF(V(I-1).NE.-9900.-BY)GO TO 364
1) BY=-1.
1) I=I-1
1) 364 DO 361 JD=1,LEND
1) N=INP(JD)
1) IF(N.NE.IRR)GO TO 361
1) C LOOKS FOR 'RESTART'
1) DO 3611 M=JD,LEND
1) KL=INP(M)
1) IF(KL.EQ.IBLA)GO TO 3631
1) IF(KL.EQ.ISEMI)GO TO 3631
1) 3611 INP(M)=IBLA
1) C CHANGES 'RESTART' TO BLANKS
1) 3631 DO 363 N=1,NINS
1) IF(NAM.NE.INST(N))GO TO 363
1) IQ(N)=-1
1) C SETS RESTART FLAG. THIS INST WILL NOW APPEAR WITH NEW NUM.
1) GO TO 362
1) 363 CONTINUE
1) 361 IF(N.EQ.ISEMI)GO TO 6773
1) 6773 K=K+1
1) IF(K.GT.NINS)GO TO 97
1) CCC IF(K.GT.NINS)GO TO 36
1) IF(INST(K).NE.NAM)GO TO 6773
1) IF(IQ(K).EQ.-1)GO TO 6773
1) C FINDS CORRECT INST NUM. PASSES RESTARTED INSTS.
1) LK=K
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) GO TO 1773
1) CCC36 IF(NAM.EQ.'RUN;')GO TO 197
1) CCC IF(NAM.NE.'RUN')GO TO 97
1) CCC197 CALL RUNIT
1) C**** MAKE LIST OF ILLEGAL INST. NAMES -----
1) C- 'INSE', 'PREC', 'TEMP', 'EDIT','PLAY','SECT','END','FINI'
1) 97 IF(NAM.EQ.INSE)GO TO 397
1) C ********* THIS PROBABLY MUST BE CHANGED FOR PDP11 ********
1) CCC IF(NAM.EQ.'PREC')GO TO 397
1) IF(NAM.EQ.'PREC')GO TO 66
1) IF(NAM.NE.'EDIT')GO TO 297
1) 397 ISUB=6
1) 297 IF(ISUB.GT.4)GO TO 1773
1) IF(NAM.EQ.ITMPO)GO TO 1773
1) CCC IF(NAM.EQ.'CONDU')GO TO 1773
1) IF(NAM.EQ.'PLAY')GO TO 1773
1) IF(NAM.EQ.'SECT')GO TO 1081
1) C****************** ABOVE AND BELOW FOR 'SECTIONS'
1) IF(NAM.EQ.'END')GO TO 1082
1) CCC IF(NAM.EQ.'END S')GO TO 1082
1) IF(NAM.EQ.'FINI')GO TO 1082
1) 362 LK=NINS+1
1) IF(LK.GT.KZY)CALL ERR(LN)
1) INST(LK)=NAM
1) IZ=LK
1) GO TO 1773
1) C*********** DOWN TO 8001 FOR 'SECTIONS'
1) 1083 V(I)=-99.
1) KL=1
1) GO TO 3083
1) C READS 'PLAY SECT. N1,N2'
1) 1081 V(I)=-199.
1) KL=4
1) 3083 DO 2081 K=KL,72
1) C****** OR 80 ↑↑↑↑↑↑↑↑↑ ?????
1) IF(INP(K).EQ.IBLA)GO TO 2081
1) IV(I+1)=INP(K)
1) I=I+2
1) 3081 BY=-1.
1) GO TO 2308
1) 2081 CONTINUE
1) C READS SECTION IDENTIFIER, -199. MARKS BEGINNING
1) C1082 IF(V(I-1).EQ.-9900.-BY)I=I-1
1) C********* FEB 15,71
1) 1082 V(I)=-299.
1) I=I+1
1) GO TO 3081
1) C MARKS END OF SECTION
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) C************************
1) 8001 FORMAT(A5,5F)
1) 107 FORMAT(I,A5,5F)
1) 4 IF(LK.LE.NINS)GO TO 8773
1) IF(ALL.GT.0)GO TO 1004
1) IF(IDALL.GT.0)GO TO 8773
1) BG(LK)=VX1
1) IDALL=LK
1) GO TO 2004
1) C 'MOVE' CHANGES IN 'ALINS' CAN'T BE RESET IN INDIV. INSTS.
1) 1004 BG(LK)=VX1
1) IF(LK.EQ.IZ)VX1=0
1) C MAY 3,71 **** ALL PARAMS WILL BE SET UP AT TIME 0.
**** File 2) SC2X.F4[M11,LCS], Page 2 line 16
2) COMMON J,L,CNT(27),BT,MK,SUB,DUR(27)
2) 1/E/IQ(27),KL,X,ZPAR,KA,INSNUM,NNUM,JJ,JA,ISUB,NFLG,
2) 1 IXX,ISEMI,IQT
2) 1 ,INP(145),VX(70),ISCA(12),IDAT(11),IAMP,K,KN,M,ML,CODE,IBLA
2) COMMON/B/MOT,PR,T5,NINS,I,RA,KZY,NWX,INONLY,MX,
2) 1 Y,Z,ISLAC,MZ,N,IDALL,JC,JG,RB,IJ,IX,BW,KB,NL,RC,W,
2) 1 ZZ,CHN,YY
2) 1 /D/TF,AMPFAC,OP1,DURX,IXIN,IFLNM
2) 1 /C/LPAR,IPRN,QX,RETRO,INVRT,ICON,LCNT,
2) 1 PARENS,JZ,BY,MLX,IZ,ALL,JD,LEND,QTS,ITMP,
2) 1 LP,ILIT,NLIT,KTMP,IC,RAX,RD,IA
2) C /C/=26
2) EQUIVALENCE (VX1,VX(1)),(KNP,JNP,INP1,INP(1)),(IPP,ISCA(2))
2) 1 ,(ISS,ISCA(9)),(ITT,ISCA(11))
2) 1 ,(IE,ISCA(5)),(ID,ISCA(3)),(IF,ISCA(6)),(IAA,ISCA(10))
2) 1 ,(VX2,VX(2)),(VX3,VX(3)),(VX4,VX(4)),(IDOT,IDAT(11))
2) 1 ,(V,IV),(LIST,IFM(3)),(IG,ISCA(8))
2) DATA TINST /25H(' TYPE INST NAME, ETC'/)/,KSLA/'/'/
2) 1,TEDIT/20H(' RETYPE LINE?'/ )/,IEN/'N'/,ITMPO/'TEMPO'/
2) C *************** READS INPUT ***********************
2) ERRFLG=0
2) KIMIT=LIMIT-100
2) C FOR WARNING ABOUT BUFFER OVERLOAD (LABEL 1774)
2) ICHD=0
2) 2308 IF(ITYP)GO TO 2127
2) 23081 TYPE TINST
2) ACCEPT 77732,JNP
2) IF(JNP(1).EQ.' ')GO TO 23081
2) CHECK FOR TAB
2) 77732 FORMAT(80A1)
2) CC IF(JED)WRITE(21,77732)INP
2) IF(JED)CALL COLTTY(JNP,21)
2) JFM(4)='80A1)'
2) C PUTS ON LPT AND TTY
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) GO TO 1074
2) CC 6/74 COLGATE2127 JREAD=1
2) CC 6/74 COLGATE 4400 READ(1,77732,END=2337)JNP
2) 2127 IF(READER(JNP))CALL RUNIT
2) C READS A LINE. IF END OF FILE, JUMPS.
2) CC SEE END OF PG.6 IF(SOS)WRITE(JOUT,87732)INP
2) CC 7/74 IF(SOS)CALL COLTTY(JNP,JOUT,3)
2) CC 6/74 COLGATE GO TO(441,442,443,444,445,446)JREAD
2) 441 JFM(4)='80A1)'
2) CC IF(IFI.GE.0)GO TO 1074
2) IF(LN.EQ.0)GO TO 1074
2) CC REREAD 2114,LN,JNP
2) C**** READS FILES WITH OR WITHOUT LINE NUMBERS! **** NOT AT STANFORD
2) CC IF(JNP(1).EQ.' ')GO TO 2308
2) CHECK FOR TAB ***** DOESN'T DO WITH SOS FILES ******
2) JFM(1)=' (I,A'
2) CALL FMT(JFM,JNP,MLX)
2) REREAD JFM,LN,J,JNP
2) GO TO 4127
2) 1074 IF(INP1.EQ.IBLA.OR.INP1.EQ.32347529280)GO TO 2308
2) C ABOVE FOR COMMENTS DOESN'T CATCH THIS WITH SOS FILES⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗⊗
2) C BIG NUM = '<'
2) IF(INP1.EQ.' ')GO TO 2308
2) CHECK FOR TAB
2) JFM(1)=' (A'
2) CALL FMT(JFM,JNP,MLX)
2) REREAD JFM,J,JNP
2) 4127 IF(JED)GO TO 41271
2) IF(K.EQ.'Y')GO TO 41271
2) C K CHECK IS TO PASS AFTER RETYPING
2) TYPE TEDIT
2) ACCEPT 77732,K
2) CALL LO2UP(K)
2) IF(K.EQ.'Y')GO TO 23081
2) IF(K.EQ.IG)JED=-1
2) 41271 IF(J.EQ.IBLA)GO TO 2308
2) CHECKS FOR SPACE(IBLA)
2) CALL LO2UP(J)
2) C MAKE SURE INST NAME, ETC. IS UPPER CASE.
2) LLETRS=MLX
2) C LETRS FOR NAME CHANGE FEATURE AT 104
2) MLX=1
2) IZ=0
2) JA=-1
2) ISUB=4
2) CALL CLEAN(LEND)
2) C CLEANS OUT = AND , AND FINDS LINE LENGTH.
2) ALL=1.
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) VX1=0
2) VX2=0
2) VX3=0
2) INSNUM=-1
2) K=0
2) JRSTA=0
2) IOFSET=0
2) C** IOFSET IS FOR 'CONTINUATION PARAMETERS' - SO INPUT P'S MATCH INST.
2) C** CAUTION!!! ANY 'OFFSET' PARAMS THAT ARE REFERRED TO AFTER AN 'END'
2) C** MUST USE THE PROPER INTERNAL NUMB. OF SCORE, NOT THE INST. PARAM!!!!!
2) IF(V(I-1).NE.-9900.-BY)GO TO 364
2) BY=-1.
2) I=I-1
2) 364 DO 361 JD=1,LEND
2) N=INP(JD)
2) IF(N.NE.'R')GO TO 361
2) C LOOKS FOR 'RESTART'
2) DO 3611 M=JD,LEND
2) KL=INP(M)
2) IF(KL.EQ.IBLA)GO TO 3631
2) IF(KL.EQ.ISEMI)GO TO 3631
2) CCZZZ IF(KL.EQ.IBLA.OR.KL.EQ.ISEMI.OR.KL.EQ.KSLA.OR.KL.EQ.',')GO TO 3631
2) 3611 INP(M)=IBLA
2) C CHANGES 'RESTART' TO BLANKS
2) 3631 DO 363 N=1,NINS
2) IF(J.NE.INST(N))GO TO 363
2) IQ(N)=-1
2) C SETS RESTART FLAG. THIS INST WILL NOW APPEAR WITH NEW NUM.
2) JRSTA=J
2) GO TO 362
2) 363 CONTINUE
2) 361 IF(N.EQ.ISEMI)GO TO 6773
2) 6773 K=K+1
2) IF(K.GT.NINS)GO TO 36
2) IF(INST(K).NE.J)GO TO 6773
2) IF(IQ(K).EQ.-1)GO TO 6773
2) C FINDS CORRECT INST NUM. PASSES RESTARTED INSTS.
2) INSNUM=K
2) GO TO 1773
2) 36 IF(J.EQ.'RUN;')GO TO 197
2) IF(J.NE.'RUN')GO TO 97
2) 197 CALL RUNIT
2) 97 IF(J.EQ.'INSER')GO TO 397
2) IF(J.EQ.'PRECE')GO TO 397
2) IF(J.NE.'EDIT')GO TO 297
2) 397 ISUB=6
2) 297 IF(ISUB.GT.4)GO TO 1773
2) IF(J.EQ.ITMPO)GO TO 1773
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) IF(J.EQ.'CONDU')GO TO 1773
2) IF(J.EQ.'PLAY')GO TO 1773
2) IF(J.EQ.'SECTI')GO TO 1081
2) C****************** ABOVE AND BELOW FOR 'SECTIONS'
2) IF(J.EQ.'END')GO TO 1082
2) IF(J.EQ.'END S')GO TO 1082
2) IF(J.EQ.'FINIS')GO TO 1082
2) 362 INSNUM=NINS+1
2) IF(INSNUM.GT.KZY)CALL ERR(7)
2) INST(INSNUM)=J
2) LETRS(INSNUM)=LLETRS
2) C SAVE HOW MANY LETTERS IN INST. NAME (FOR 'RUNIT')
2) IZ=INSNUM
2) GO TO 1773
2) C*********** DOWN TO 8001 FOR 'SECTIONS'
2) 1083 V(I)=-99.
2) KL=1
2) GO TO 3083
2) C READS 'PLAY SECT. N1,N2'
2) 1081 V(I)=-199.
2) KL=4
2) 3083 DO 2081 K=KL,72
2) C****** OR 80 ↑↑↑↑↑↑↑↑↑ ?????
2) IF(INP(K).EQ.IBLA)GO TO 2081
2) IV(I+1)=INP(K)
2) I=I+2
2) 3081 BY=-1.
2) GO TO 2308
2) 2081 CONTINUE
2) C READS SECTION IDENTIFIER, -199. MARKS BEGINNING
2) C1082 IF(V(I-1).EQ.-9900.-BY)I=I-1
2) C********* FEB 15,71
2) 1082 V(I)=-299.
2) I=I+1
2) GO TO 3081
2) C MARKS END OF SECTION
2) C************************
2) 8001 FORMAT(A5,5F)
2) 107 FORMAT(I,A5,5F)
2) 4 IF(INSNUM.LE.NINS)GO TO 8773
2) IF(ALL.GT.0)GO TO 1004
2) IF(IDALL.GT.0)GO TO 8773
2) BG(INSNUM)=VX1
2) IDALL=INSNUM
2) GO TO 2004
2) C 'MOVE' CHANGES IN 'ALINS' CAN'T BE RESET IN INDIV. INSTS.
2) 1004 BG(INSNUM)=VX1
2) IF(INSNUM.EQ.IZ)VX1=0
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) C MAY 3,71 **** ALL PARAMS WILL BE SET UP AT TIME 0.
***************
**** File 1) S2.F4[M11,LCS], Page 1 line 192
1) 2004 NINS=LK
1) IF(VX3.NE.0)VX2=10000.+VX3
1) IF(VX2.EQ.0)VX2=-1
1) DUR(LK)=VX2
1) GO TO 900
1) C******** ABOVE FOR REST ONLY ENTRIES. FEB 18,71
1) 8773 IF(VX2.NE.0)VX1=VX1*10000.+VX2
1) 900 IF(VX1.NE.BY)GO TO 497
1) C ********* THIS PROBABLY MUST BE CHANGED FOR PDP11 ********
1) IF(J.NE.'PLAY')GO TO 5773
1) C*********** 'PLAY' IS FOR 'SECTIONS'
1) 497 BY=VX1
1) C BY=CURRENT BG TIME.
1) V(I)=-9900.-BY
1) I=I+1
1) IF(NWZ.NE.0)CALL BGSORT(BY)
1) 5773 IF(NAM.EQ.ITMPO)GO TO 1106
1) CCC IF(NAM.EQ.'CONDU')GO TO 3018
1) C ********* THIS PROBABLY MUST BE CHANGED FOR PDP11 ********
1) IF(NAM.EQ.'PLAY')GO TO 1083
1) C*********** ABOVE FOR 'SECTIONS'
1) 4773 NW=LPAR
1) CZZZZZZZ MLX=ML
1) ML=MLX
1) IF(I.LT.KIMIT)GO TO 774
1) TYPE 107,I
1) IF(I.GE.LIMIT)TYPE 1774
1) 1774 FORMAT(/' ***** TOO MUCH INPUT DATA!! USE "MIXSCR" *****'/)
1) 774 ALL=1.
1) DF=0
1) ISUB=1
1) CXXX IF(MLX.LT.LEND)GO TO 9732
1) CXXX THIS LOST ON );Px . . . ; TAKEN OUT 8/20/76
1) CXXX GO TO 7773
1) CZZZZZZZZZZZZZZZZZZZZZZZZ
1) 1299 IF(MLX.LE.LEND)GO TO 1773
1) CZZZZZZZZZZZZZZZ .LT. ZZZZZZZZZZZZ
1) 7773 IF(READER(JNP).LT.0)GO TO 197
1) C READS A LINE. IF END OF FILE, JUMPS.
1) CQQQ IF(INP1.EQ.IBLA)GO TO 7773
1) LN=LN+1
1) IF(INP1.EQ.IBLA.OR.INP1.EQ.32347529280)GO TO 7773
1) C ABOVE FOR COMMENTS. BIG NUM = '<'
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) C ********* THIS PROBABLY MUST BE CHANGED FOR PDP11 ********
1) IF(JED.LT.0)GO TO 8733
1) TYPE 4309
1) ACCEPT 8732,K
1) IF(K.NE.'Y')GO TO 442
1) TYPE TPALN
1) ACCEPT 8732,JNP
1) 442 IF(K.EQ.IG)JED=-1
1) C DOESN'T WORK FOR EDITS AND INSERTS YET???
1) 8733 MLX=1
1) C FOR CONTINUATION LINES.(CAN'T 'CONTINUE' TWICE IN A ROW!!)
1) C 'LISTS' MUST END WITH ; IN NEW(7/74) VERSION.
1) CALL CLEAN(INP,LEND)
1) 1773 IF(IPRN.EQ.0)GO TO 9732
1) L=I-1
1) IF(QTS.GE.0)GO TO 597
1) IF(V(I-1).EQ.999.)L=L-1
1) 597 IPRN=IPRN-1
1) IF(IPAREN.EQ.0)GO TO 9733
1) IPAREN=0
1) LIST(LCNT+2)=L
1) LCNT=LCNT+3
1) IF(IPRN.EQ.0)GO TO 9732
1) IPRN=0
1) 9733 LIST(MOT)=L
1) MOT=0
1) C FOR ERROR TRAP
1) CC9732 JZ=0
1) 9732 N=0
1) 9731 ML=MLX
1) C BIG LOOP -- TO END OF PAGE 1.
1) JD=ML
1) 975 N=INP(JD)
1) IF(N.EQ.IBLA)GO TO 236
1) CCZZZ IF(N.EQ.IBLA.OR.N.EQ.',')GO TO 236
1) C ((((())))) MAY 13,71 /Z (D4/E/X 2 3)/ CS/ ETC. CAN USE 26 LABELS.
1) 33611 IF(N.EQ.'(')GO TO 697
1) IF(N.NE.')')GO TO 2361
1) 697 INP(JD)=IBLA
1) L=JD-1
1) 5113 IF(INP(L).NE.IBLA)GO TO 2113
1) L=L-1
1) GO TO 5113
1) 2113 IF(N.EQ.')')GO TO 3361
1) IF(IPAREN.EQ.0)GO TO 1140
1) LCNT=LCNT+3
1) IF(MOT.NE.0)CALL ERR(3)
1) MOT=LCNT-1
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) 1140 DO 11401 JC=1,LCNT-1,3
1) IF(INP(L).NE.LIST(JC))GO TO 11401
1) C FINDS DUPLICATE IDENTIFIER
1) TYPE 11402,INP(L)
1) CALL EXIT
1) 11402 FORMAT(' MOTIVIC (',A1,') USED TWICE')
1) 11401 CONTINUE
1) LIST(LCNT)=INP(L)
1) IPAREN=-1
1) INP(L)=IBLA
1) LIST(LCNT+1)=I
1) GO TO 236
1) C ''''''' FOR SINGLE QUOTES
1) 3361 IPRN=IPRN+1
1) GO TO 236
1) 2361 IF(N.NE.':')GO TO 2362
1) ICHD=ICHD+1
1) N=KSLA
1) GO TO 336
1) 2362 IF(N.NE.'@')GO TO 561
1) DO 113 L=1,LEND
1) K=JD+L
1) C K IS USED AT 240!!!
1) JG=INP(K)
1) IF(JG.NE.'-')GO TO 6113
1) IRTRO=0
1) INP(K)=IBLA
1) GO TO 113
1) 6113 IF(JG.NE.'$')GO TO 7113
1) C '$' IS FOR INVERSIONS IN 'NOTES'
1) INVRT=0
1) GO TO 113
1) 7113 IF(JG.NE.IBLA)GO TO 4113
1) 113 CONTINUE
1) 4113 DO 6361 JMOT=1,LCNT,3
1) IF(JG.NE.LIST(JMOT))GO TO 6361
1) VX1=0
1) DO 40 M=JD+2,LEND
1) JG=INP(M)
1) IF(JG.EQ.IBLA)GO TO 40
1) IF(JG.EQ.KSLA)GO TO 140
1) IF(JG.EQ.ISEMI)GO TO 140
1) ML=M
1) GO TO 240
1) 40 CONTINUE
1) 240 JC=JA
1) JA=-1
1) INP(K)=IBLA
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) CALL SCANR
1) JA=JC
1) 140 JC=1
1) KN=LIST(JMOT+1)
1) M=LIST(JMOT+2)+1
1) IF(IRTRO.LT.0)GO TO 640
1) JC=M-1
1) M=KN-1
1) KN=JC
1) JC=-1
1) IRTRO=-1
1) 640 IF(INVRT.LT.0)GO TO 940
1) 840 X=V(KN)
1) RB=X
1) X=ABS(X)+VX1
1) Z=X
1) IF(RB)Z=-Z
1) V(I)=Z
1) CC V(I)=X+VX1
1) C FINDS CENTER FOR INVERSION (+TRANSP.)
1) I=I+1
1) KN=KN+JC
1) IF(V(KN-JC).NE.85.)GO TO 940
1) V(I-1)=85.
1) GO TO 840
1) 940 Z=V(KN)
1) IF(INVRT.EQ.0)GO TO 440
1) IF(VX1.EQ.0)GO TO 540
1) C " @Q N " WHERE N= 1/2 STEPS IN 'NOTES' OR MULT FACTOR IN OTHERS.
1) IF(CODE.EQ.-33.)GO TO 440
1) V(I)=Z*VX1
1) GO TO 7361
1) 440 IF(Z.EQ.85.)GO TO 540
1) Y=0
1) RB=VX1
1) IF(Z.LT.0)RB=-RB
1) IF(INVRT.LT.0)GO TO 541
1) RB=-RB
1) RC=X
1) IF(Z.LT.0)RC=-RC
1) C THIS STUFF FOR CHORD FEATURE
1) Y=(RC-Z)*2
1) 541 V(I)=Z+RB+Y
1) GO TO 7361
1) 540 V(I)=Z
1) 7361 IF(JC.GT.0)GO TO 543
1) IF(CODE.NE.-33)GO TO 543
1) JG=I
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) IF(V(I).GT.0)GO TO 543
1) 542 Y=V(JG)
1) V(JG)=V(JG-1)
1) V(JG-1)=Y
1) C THIS STUFF FOR CHORD FEATURE
1) IF(V(JG-2).GT.0)GO TO 543
1) JG=JG-1
1) GO TO 542
1) 543 I=I+1
1) KN=KN+JC
1) IF(KN.NE.M)GO TO 940
1) INVRT=-1
1) RB=V(I-1)
1) DO 8361 L=JD,LEND
1) JG=INP(L)
1) KN=L
1) INP(L)=IBLA
1) IF(JG.EQ.KSLA)GO TO 961
1) IF(JG.EQ.')')IPRN=IPRN+1
1) IF(JG.NE.ISEMI)GO TO 8361
1) IAMP=-1
1) GO TO 961
1) 8361 CONTINUE
1) 961 MLX=L+1
1) IF(L.GE.LEND)GO TO 9612
1) IF(IAMP.NE.0)GO TO 797
1) IF(QTS.LT.0)GO TO 1773
1) C GO BACK IF NOT END OF LINE
1) 797 JZ=-1
1) 9612 IF(IAMP.EQ.0)GO TO 9611
1) IF(QTS.LT.0)GO TO 3013
1) GO TO 2722
1) C THESE ARE FOR "LIT" ITEMS
**** File 2) SC2X.F4[M11,LCS], Page 2 line 203
2) 2004 NINS=INSNUM
2) IF(VX3.NE.0)VX2=10000.+VX3
2) IF(VX2.EQ.0)VX2=-1
2) DUR(INSNUM)=VX2
2) GO TO 900
2) C******** ABOVE FOR REST ONLY ENTRIES. FEB 18,71
2) 8773 IF(VX2.EQ.0)GO TO 900
2) C 2 NUMBS HERE MEAN START ON NOTE NUM.VX2 OF INST.VX1
2) IF(VX1.EQ.0)VX1=INSNUM
2) C VX1=0 MEANS USE NUMB. OF THIS INST.
2) VX1=VX1*10000.+VX2
2) 900 IF(VX1.NE.BY)GO TO 497
2) IF(J.NE.'PLAY')GO TO 5773
2) C*********** 'PLAY' IS FOR 'SECTIONS'
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) 497 BY=VX1
2) C BY=CURRENT BG TIME.
2) V(I)=-9900.-BY
2) I=I+1
2) IF(NWZ.NE.0)CALL BGSORT(BY)
2) 5773 IF(JRSTA.EQ.0)GO TO 3173
2) DO 173 K=NINS-1,1,-1
2) 173 IF(JRSTA.EQ.INST(K))GO TO 1173
2) 1173 VX1=K
2) GO TO 7720
2) C GO DO A 'DUPL'
2) 2173 JRSTA=0
2) 3173 IF(J.EQ.ITMPO)GO TO 1106
2) IF(J.EQ.'CONDU')GO TO 3018
2) IF(J.EQ.'PLAY')GO TO 1083
2) C*********** ABOVE FOR 'SECTIONS'
2) 4773 NW=LPAR
2) CZZZZZZZ MLX=ML
2) ML=MLX
2) IF(I.LT.KIMIT)GO TO 774
2) TYPE 107,I
2) IF(I.GE.LIMIT)TYPE 1774
2) 1774 FORMAT(/' ******* TOO MUCH INPUT DATA!! USE "MIXSCR" *******'/)
2) 774 ALL=1.
2) SUB=0
2) ISUB=1
2) CXXX IF(MLX.LT.LEND)GO TO 17732
2) CXXX THIS LOST ON );Px . . . ; TAKEN OUT 8/20/76
2) CXXX GO TO 7773
2) CZZZZZZZZZZZZZZZZZZZZZZZZ
2) 1299 IF(MLX.LE.LEND)GO TO 1773
2) CZZZZZZZZZZZZZZZ .LT. ZZZZZZZZZZZZ
2) 7773 IF(READER(JNP))CALL RUNIT
2) C READS A LINE. IF END OF FILE, JUMPS.
2) CQQQ IF(INP1.EQ.IBLA)GO TO 7773
2) IF(INP1.EQ.IBLA.OR.INP1.EQ.32347529280)GO TO 7773
2) C ABOVE FOR COMMENTS. BIG NUM = '<'
2) IF(JED)GO TO 77733
2) TYPE TEDIT
2) ACCEPT 77732,K
2) CALL LO2UP(K)
2) IF(K.NE.'Y')GO TO 442
2) TYPE TPALN
2) ACCEPT 77732,JNP
2) 442 IF(K.EQ.IG)JED=-1
2) C DOESN'T WORK FOR EDITS AND INSERTS YET???
2) 77733 MLX=1
2) C FOR CONTINUATION LINES.(CAN'T 'CONTINUE' TWICE IN A ROW!!)
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) C 'LISTS' MUST END WITH ; IN NEW(7/74) VERSION.
2) CALL CLEAN(LEND)
2) 1773 IF(IPRN.EQ.0)GO TO 17732
2) L=I-1
2) IF(QTS.GE.0)GO TO 597
2) IF(V(I-1).EQ.999.)L=L-1
2) 597 IPRN=IPRN-1
2) IF(PARENS.EQ.0)GO TO 17733
2) PARENS=0
2) LIST(LCNT+2)=L
2) LCNT=LCNT+3
2) IF(IPRN.EQ.0)GO TO 17732
2) IPRN=0
2) 17733 LIST(MOT)=L
2) MOT=0
2) C FOR ERROR TRAP
2) CC17732 JZ=0
2) 17732 N=0
2) 17731 ML=MLX
2) C BIG LOOP -- TO END OF PAGE 1.
2) JPP=-1
2) C FOR OLD 'DF' STUFF. CHECKS FOR A Pn
2) JD=ML
2) 975 N=INP(JD)
2) IF(N.EQ.IBLA)GO TO 236
2) IF(N.EQ.IPP)JPP=0
2) C FOUND 'P'
2) CCZZZ IF(N.EQ.IBLA.OR.N.EQ.',')GO TO 236
2) C ((((())))) MAY 13,71 /Z (D4/E/X 2 3)/ CS/ ETC. CAN USE 26 LABELS.
2) 33611 IF(N.EQ.'(')GO TO 697
2) IF(N.NE.')')GO TO 2361
2) 697 INP(JD)=IBLA
2) L=JD-1
2) 5113 IF(INP(L).NE.IBLA)GO TO 2113
2) L=L-1
2) GO TO 5113
2) 2113 IF(N.EQ.')')GO TO 3361
2) IF(PARENS.EQ.0)GO TO 1140
2) LCNT=LCNT+3
2) IF(MOT.NE.0)CALL ERR(3)
2) MOT=LCNT-1
2) 1140 DO 11401 JC=1,LCNT-1,3
2) IF(INP(L).NE.LIST(JC))GO TO 11401
2) C FINDS DUPLICATE IDENTIFIER
2) TYPE 11402,INP(L)
2) CC CALL EXIT
2) 11402 FORMAT(' ****** MOTIVIC (',A1,') USED TWICE')
2) 11401 CONTINUE
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) LIST(LCNT)=INP(L)
2) PARENS=-1.
2) INP(L)=IBLA
2) LIST(LCNT+1)=I
2) GO TO 236
2) C ''''''' FOR SINGLE QUOTES
2) 3361 IPRN=IPRN+1
2) GO TO 236
2) C JUMPS BACK INTO QUOTE SECTION
2) CQ IF(PARENS.EQ.0)GO TO 2140
2) CQ LIST(LCNT+2)=L
2) CQ LCNT=LCNT+3
2) CQ PARENS=0
2) CQ GO TO 33612
2) CQ2140 LIST(MOT)=L
2) CQ GO TO 33612
2) CQC ))))))))))) LAST ) CAN'T APPEAR AT END OF LINE!!
2) C @@@@@@@@@@@@ /@Z/DS3/ ETC.
2) 2361 IF(N.NE.':')GO TO 2362
2) ICHD=ICHD+1
2) N=KSLA
2) GO TO 336
2) 2362 IF(N.NE.'@')GO TO 5361
2) DO 113 L=1,LEND
2) K=JD+L
2) C K IS USED AT 240!!!
2) JG=INP(K)
2) IF(JG.NE.'-')GO TO 6113
2) IF(CODE.EQ.-88.)CALL ERR(8)
2) RETRO=0
2) INP(K)=IBLA
2) GO TO 113
2) 6113 IF(JG.NE.'$')GO TO 7113
2) C '$' IS FOR INVERSIONS IN 'NOTES'
2) IF(CODE.EQ.-88.)CALL ERR(8)
2) INVRT=0
2) GO TO 113
2) 7113 IF(JG.NE.IBLA)GO TO 4113
2) 113 CONTINUE
2) 4113 DO 6361 JMOT=1,LCNT,3
2) IF(JG.NE.LIST(JMOT))GO TO 6361
2) VX1=0
2) DO 40 M=JD+2,LEND
2) JG=INP(M)
2) IF(JG.EQ.IBLA)GO TO 40
2) CCZZZ IF(JG.EQ.KSLA.OR.JG.EQ.ISEMI.OR.JG.EQ.'*')GO TO 140
2) IF(JG.EQ.KSLA)GO TO 140
2) IF(JG.EQ.ISEMI)GO TO 140
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) ML=M
2) GO TO 240
2) 40 CONTINUE
2) 240 JC=JA
2) JA=-1
2) INP(K)=IBLA
2) CALL SCANR
2) JA=JC
2) 140 JC=1
2) KN=LIST(JMOT+1)
2) M=LIST(JMOT+2)+1
2) IF(RETRO)GO TO 640
2) JC=M-1
2) M=KN-1
2) KN=JC
2) JC=-1
2) RETRO=-1.
2) 640 IF(INVRT)GO TO 940
2) C INVERSIONS NEXT
2) 840 X=V(KN)
2) IF(X.GT.-9999.)GO TO 841
2) C CAN'T INVERT A 'P' NUMBER.
2) Z=X
2) GO TO 941
2) 841 RB=X
2) X=ABS(X)+VX1
2) Z=X
2) IF(RB)Z=-Z
2) 941 V(I)=Z
2) CC V(I)=X+VX1
2) C FINDS CENTER FOR INVERSION (+TRANSP.)
2) I=I+1
2) IZ=IZ+1
2) C IZ USED FOR INTERNAL TEMPO FEATURE (FIXED 6/78)
2) KN=KN+JC
2) IF(V(KN-JC).NE.199.)GO TO 940
2) C 199. IS NOW NUM. FOR 'R' (REST) 7/78
2) V(I-1)=199.
2) GO TO 840
2) 940 Z=V(KN)
2) IF(Z.LT.-9999.)GO TO 540
2) C CAN'T INVERT OR TRANSPOSE 'P' NUMBERS.
2) IF(INVRT.EQ.0)GO TO 440
2) IF(VX1.EQ.0)GO TO 540
2) C " @Q N " WHERE N= 1/2 STEPS IN 'NOTES' OR MULT FACTOR IN OTHERS.(NO LIT)
2) IF(CODE.EQ.-88.)CALL ERR(8)
2) IF(CODE.EQ.-33.)GO TO 440
2) V(I)=Z*VX1
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) GO TO 7361
2) 440 IF(Z.EQ.199.)GO TO 540
2) C 199. IS NOW NUM. FOR 'R' (REST) 7/78
2) Y=0
2) RB=VX1
2) IF(Z)RB=-RB
2) IF(INVRT)GO TO 541
2) RB=-RB
2) RC=X
2) C X IS SET FURTHER BACK.
2) IF(Z)RC=-RC
2) C THIS STUFF FOR CHORD FEATURE
2) Y=(RC-Z)*2
2) 541 Z=Z+RB+Y
2) Y=ABS(Z)
2) IF(Y.LT.1.OR.Y.GT.108)CALL ERR(8)
2) C ERROR IF TRANSP. HAS PUSHED A NOTE NUMBER TOO HIGH OR TOO LOW.
2) V(I)=Z
2) CC IF(INVRT.EQ.0)Y=(X-Z)*2.
2) CC V(I)=Z+VX1+Y
2) GO TO 7361
2) 540 V(I)=Z
2) 7361 IF(JC.GT.0)GO TO 543
2) IF(CODE.NE.-33)GO TO 543
2) JG=I
2) IF(V(I).GT.0)GO TO 543
2) 542 Y=V(JG)
2) V(JG)=V(JG-1)
2) V(JG-1)=Y
2) C THIS STUFF FOR CHORD FEATURE
2) IF(V(JG-2).GT.0)GO TO 543
2) JG=JG-1
2) GO TO 542
2) 543 I=I+1
2) IZ=IZ+1
2) C IZ USED FOR INTERNAL TEMPO FEATURE (FIXED 6/78)
2) KN=KN+JC
2) IF(KN.NE.M)GO TO 940
2) INVRT=-1
2) RB=V(I-1)
2) DO 8361 L=JD,LEND
2) JG=INP(L)
2) C PUT IN NOV 25, 72
2) CCZZZ IF(JG.EQ.ISEMI)GO TO 93612
2) KN=L
2) INP(L)=IBLA
2) IF(JG.EQ.KSLA)GO TO 9361
2) IF(JG.EQ.')')IPRN=IPRN+1
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) IF(JG.NE.ISEMI)GO TO 8361
2) IAMP=-1
2) GO TO 9361
2) 8361 CONTINUE
2) C ABOVE 4 LINES PUT IN 8/76. REPLACE C*********** ↓↓
2) 9361 MLX=L+1
2) IF(L.GE.LEND)GO TO 93612
2) C************9361 MLX=L
2) C************ IF(L.EQ.LEND)GO TO 93612
2) C ↑↑↑↑↑↑↑ 6/75
2) C FIX THIS & =IBLA BY CHNGING DO LOOP TO 'GO TO' AT 6721,2722
2) IF(IAMP.NE.0)GO TO 797
2) IF(QTS)GO TO 1773
2) C GO BACK IF NOT END OF LINE
2) 797 JZ=-1
2) 93612 IF(IAMP.EQ.0)GO TO 93611
2) C NOV 25, 72
2) C*** JUNE 78 *** BELOW GOES TO CHECK ON INTERNAL TEMPO *****IF(QTS)GO TO 3013
2) IF(QTS)GO TO 9004
2) GO TO 2722
2) C THESE ARE FOR "LIT" ITEMS
***************
**** File 1) S2.F4[M11,LCS], Page 1 line 427
1) 9611 IF(KN.EQ.LEND)GO TO 7773
1) JZ=0
1) IF(IPRN.NE.0)GO TO 1773
1) C ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑PICKS UP ' @X)/ ' SITUATION. 22/6/73
1) GO TO 236
1) C LAST TIME FOR QUOTES
**** File 2) SC2X.F4[M11,LCS], Page 2 line 494
2) CCZZZ93611 IF(JG.EQ.ISEMI)GO TO 7773
2) 93611 IF(KN.EQ.LEND)GO TO 7773
2) JZ=0
2) IF(IPRN.NE.0)GO TO 1773
2) C ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑PICKS UP ' @X)/ ' SITUATION. 22/6/73
2) GO TO 236
2) C LAST TIME FOR QUOTES
***************
**** File 1) S2.F4[M11,LCS], Page 1 line 436
1) 6361 CONTINUE
1) CALL ERR(LN)
1) C @@@@@@@@@@@@@@@@@@@@@@@@@@
1) 561 IF(N.EQ.'$')CALL ERR(LN)
1) C FOUND $ BUT NO @!
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) IF(N.NE.ID)GO TO 5611
1) IF(ISUB.NE.1)GO TO 5611
1) IF(INP(JD+1).NE.IF)GO TO 236
1) C JUMP IF NOT DUTY FACTOR
1) DF=DF-100.
1) GO TO 4615
1) 5611 IF(N.NE.ISS)GO TO 5612
1) IF(INP(JD+1).NE.'U')GO TO 5612
1) DF=DF-200
1) C FOR SUBROUTINE FLAG. CAN'T CALL SUBR AT SAME TIME AS REP OR X!!!!
1) GO TO 4615
1) 5612 IF(N.NE.IAA)GO TO 4611
1) C FINDS 'ALL'.
1) IF(INP(JD+1).NE.'L')GO TO 236
1) ALL=-1.
1) GO TO 4615
1) C TYPE 'ALL' AFTER PARAM NUM TO PUT DATA IN ALL INSTS.
**** File 2) SC2X.F4[M11,LCS], Page 2 line 504
2) 6361 CONTINUE
2) CALL ERR(0)
2) C @@@@@@@@@@@@@@@@@@@@@@@@@@
2) 5361 IF(N.EQ.'$')CALL ERR(8)
2) C FOUND $ BUT NO @!
2) INPX=INP(JD+1)
2) CC IF(N.NE.ID)GO TO 53611
2) CC IF(ISUB.NE.1)GO TO 53611
2) CC IF(INPX.NE.IF)GO TO 236
2) C JUMP IF NOT DUTY FACTOR
2) CC IF(JPP)GO TO 236
2) C JUMP IF 'P' HAS NOT BEEN SEEN.
2) CC SUB=SUB-100.
2) CC GO TO 43615
2) 53611 IF(N.NE.ISS)GO TO 53612
2) IF(INPX.NE.'U')GO TO 53612
2) SUB=SUB-200
2) C FOR SUBROUTINE FLAG. CAN'T CALL SUBR AT SAME TIME AS REP OR X!!!!
2) GO TO 43615
2) 53612 IF(N.NE.'M')GO TO 612
2) IF(INPX.NE.'I')GO TO 612
2) SUB=SUB-200.5
2) C THE '.5' CALLS 'MICRO' RATHER THAN 'SUBR'.
2) GO TO 43615
2) 612 IF(N.NE.IAA)GO TO 43611
2) C FINDS 'ALL'.
2) IF(INPX.NE.'L')GO TO 236
2) ALL=-1.
2) GO TO 43615
2) C TYPE 'ALL' AFTER PARAM NUM TO PUT DATA IN ALL INSTS.
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
***************
**** File 1) S2.F4[M11,LCS], Page 1 line 466
1) 4611 IF(N.NE.'Q')GO TO 461
1) IF(INP(JD+1).NE.'U')GO TO 461
1) QX=-13.
1) DO 4612 N=JD,LEND
1) J=INP(N)
1) IF(J.EQ.IXX)QX=QX-1.
1) IF(J.EQ.IF)QX=QX-2.
1) IF(J.EQ.IBLA)GO TO 236
1) IF(J.EQ.KSLA)GO TO 236
1) 4612 INP(N)=IBLA
1) 461 IF(N.NE.'I')GO TO 4613
1) IF(ISUB.NE.4)GO TO 4613
1) C -1= 'NM INV' MAKES INST NAME, P1 AND P2 INVISIBLE (REPLACES SEG, ETC.)
**** File 2) SC2X.F4[M11,LCS], Page 2 line 542
2) 43611 IF(N.NE.'Q')GO TO 4361
2) IF(INPX.NE.'U')GO TO 4361
2) QX=-13.
2) DO 43612 N=JD,LEND
2) J=INP(N)
2) IF(J.EQ.IXX)QX=QX-1.
2) IF(J.EQ.IF)QX=QX-2.
2) IF(J.EQ.IBLA)GO TO 236
2) IF(J.EQ.KSLA)GO TO 236
2) CCZZZ IF(J.EQ.IBLA.OR.J.EQ.KSLA.OR.J.EQ.ISEMI.OR.J.EQ.',')GO TO 236
2) 43612 INP(N)=IBLA
2) 4361 IF(N.NE.'I')GO TO 43613
2) IF(ISUB.NE.4)GO TO 43613
2) C -1= 'NM INV' MAKES INST NAME, P1 AND P2 INVISIBLE (REPLACES SEG, ETC.)
***************
**** File 1) S2.F4[M11,LCS], Page 1 line 482
1) L=-1
1) N=INP(JD+1)
1) IF(N.EQ.IE)L=L-1
1) INVIS(LK)=INVIS(LK)+L
1) 4615 DO 4614 L=JD,LEND
1) N=INP(L)
1) IF(N.EQ.IBLA)GO TO 236
1) IF(N.EQ.ISEMI)GO TO 236
1) 4614 INP(L)=IBLA
1) 4613 IF(N.NE.KSLA)GO TO 1336
1) IF(JD.GE.LEND-1)JZ=0
1) C SO IT WILL READ NEXT LINE.
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) GO TO 336
1) 1336 IF(N.NE.ISEMI)GO TO 936
1) IAMP=-1
1) 336 MLX=JD+1
1) IF(ISUB.GE.104)GO TO 104
1) IF(ISUB.GT.3)GO TO 1899
1) GO TO (101,102,103),ISUB
1) C PAR MOV LIST OTHERS
1) 936 IF(N.NE.IDOT)GO TO 136
1) L=INP(JD+1)
1) DO 836 KL=1,10
1) 836 IF(L.EQ.IDAT(KL))GO TO 236
1) IF(CODE.EQ.-22..OR.CODE.EQ.-23.)INP(JD)=1
1) GO TO 236
1) C CHANGES DOTTED RHYTHMS TO '1'S.
1) 136 IF(N.NE.IQT)GO TO 236
1) DO 1361 K=JD+1,LEND
1) IF(INP(K).NE.IQT)GO TO 1361
1) JD=K+1
1) GO TO 975
1) C SKIPS MATERIAL IN QUOTES
1) 1361 CONTINUE
1) CALL ERR(LN)
1) C OPEN QUOTES
1) 236 JD=JD+1
1) IF(JD.LE.LEND)GO TO 975
1) CALL ERR(1)
1) 1899 CALL SCANR
1) GO TO(1,2,3,4,5,6),ISUB
1) 101 N=INP(ML)
1) IZ=ML
1) ML=ML+1
1) IF(N.EQ.IBLA)GO TO 101
1) JA=-1
1) IF(N.EQ.IPP)GO TO 1
1) IF(N.EQ.IE)GO TO 2308
1) IF(N.EQ.'R')GO TO 197
1) C 'RUN' MAY REPLACE 'END' FOR LAST INST.
1) IF(N.EQ.ID)GO TO 7720
1) CALL ERR(LN)
1) 1 CALL SCANR
1) LPAR=VX1
1) IJ=LPAR
1) IF(QX.GE.0)GO TO 5703
1) IJ=LPAR+4
1) C SETS UP PARAM FOR QUAD CALL
1) V(I)=IJ+LK*10000
1) V(I+1)=2*ALL
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
1) C TEST "ALL" FEATURE HERE!!!!!!!
1) C X=-13(DEGREES),=-14(X,Y),=-15(CIRCLE FUNCTS),=-16(LINE FUNCTS)
1) V(I+2)=QX
1) I=I+3
1) QX=0.
1) 5703 IAMP=0
1) IF(IJ.LE.NP(LK))GO TO 897
1) IF(IJ.LT.31)NP(LK)=IJ
1) 897 IF(LPAR.EQ.32)LPAR=1
1) V(I)=LPAR+LK*10000
1) C +1=WDCNT, +2=CODE, +3='NM' CCCCC
1) IJ=I+1
1) I=I+4
1) ITMP=0
1) CODE=0
1) NFLG=1
1) ML=IZ+M
1) C RE=REP R=RHY L=LIT M=MOVE MX=MOVX N=NOTES NU=NUM
**** File 2) SC2X.F4[M11,LCS], Page 2 line 559
2) L=-1
2) CSS N=INP(JD+1)
2) CSS IF(N.EQ.IE)L=L-1
2) IF(INPX.EQ.IE)L=L-1
2) INVIS(INSNUM)=INVIS(INSNUM)+L
2) 43615 DO 43614 L=JD,LEND
2) N=INP(L)
2) CC IF(N.EQ.IBLA.OR.N.EQ.KSLA)GO TO 236
2) IF(N.EQ.IBLA)GO TO 236
2) IF(N.EQ.ISEMI)GO TO 236
2) CCZZZ IF(N.EQ.IBLA.OR.N.EQ.','.OR.N.EQ.ISEMI.OR.N.EQ.KSLA)GO TO 236
2) 43614 INP(L)=IBLA
2) CC43613 IF(N.NE.KSLA)GO TO 636
2) 43613 IF(N.NE.KSLA)GO TO 1336
2) CC JZ=-1
2) IF(JD.GE.LEND-1)JZ=0
2) C SO IT WILL READ NEXT LINE.
2) CZZZZZZZZZZZZZZZ INP(JD)=ISEMI
2) GO TO 336
2) CCZZZ436 IF(INP(MLX).NE.IBLA)GO TO 336
2) CCZZZ MLX=MLX+1
2) CCZZZ GO TO 436
2) CC636 IF(JD.LT.LEND)GO TO 1336
2) CC ICON=0
2) CC GO TO 77731
2) CC GO TO 7773
2) C TO CONTINUE ON NEXT LINE.
2) CCZZZ636 IF(N.NE.ISEMI)GO TO 936
2) 1336 IF(N.NE.ISEMI)GO TO 936
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) IAMP=-1
2) CC IF(ISUB.NE.1)IAMP=-1
2) 336 MLX=JD+1
2) IF(ISUB.GE.104)GO TO 104
2) IF(ISUB.GT.3)GO TO 1899
2) GO TO (101,102,103),ISUB
2) C PAR MOV LIST OTHERS
2) CCZZZ936 IF(N.NE.IDOT)GO TO 736
2) 936 IF(N.NE.IDOT)GO TO 136
2) L=INP(JD+1)
2) DO 836 KL=1,10
2) 836 IF(L.EQ.IDAT(KL))GO TO 236
2) IF(CODE.EQ.-22..OR.CODE.EQ.-23.)INP(JD)=1
2) GO TO 236
2) C CHANGES DOTTED RHYTHMS TO '1'S.
2) CCZZZ736 IF(N.NE.'*')GO TO 136
2) CCZZZ IAMP=-1
2) CCZZZ INP(JD)=IBLA
2) CCZZZ GO TO 336
2) 136 IF(N.NE.IQT)GO TO 236
2) DO 1361 K=JD+1,LEND
2) IF(INP(K).NE.IQT)GO TO 1361
2) JD=K+1
2) GO TO 975
2) C SKIPS MATERIAL IN QUOTES
2) 1361 CONTINUE
2) CALL ERR(0)
2) C OPEN QUOTES
2) 236 JD=JD+1
2) IF(JD.LE.LEND)GO TO 975
2) CALL ERR(1)
2) 1899 CALL SCANR
2) CZZZZZZZ ML=MLX
2) CZZZZZZZZZZZZZZZZZZZZZZZZZZ
2) GO TO(1,2,3,4,5,6),ISUB
2) 101 N=INP(ML)
2) IZ=ML
2) ML=ML+1
2) IF(N.EQ.IBLA)GO TO 101
2) M=1
2) JA=-1
2) C AT THIS POINT IT LOOKS FOR P=PARM, E=END, D=DUPL, C=CONTINUATION, R=RUN.
2) IF(N.EQ.IPP)GO TO 1
2) IF(N.EQ.IE)GO TO 2308
2) IF(N.NE.'R')GO TO 1101
2) N=INP(ML)
2) C 'RUN' MAY REPLACE 'END' FOR LAST INST.
2) IF(N.EQ.'U')CALL RUNIT
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) CC M=1
2) LPAR=1
2) C TYPE 'RD' (P1) FOR RANDOM DEVIATION, 'RR'(P100) FOR RANDOM RESTS.
2) IF(N.NE.'R')LPAR=NUMP+1
2) 1205 K=ML
2) 205 K=K+1
2) IJ=INP(K)
2) IF(IJ.EQ.IBLA)GO TO 205
2) IF(IJ.NE.IDOT.AND.IJ.NE.'-'.AND.
2) 1 IJ.NE.IPP.AND.(IJ.LT.'0'.OR.IJ.GT.'9'))CALL ERR(0)
2) C LOOK FOR ILLEGAL FORMAT WITH RR, RD, DF. (ACCEPTS NUM,DOT,Pn,MINUS)
2) GO TO 201
2) 1101 IF(N.NE.ID)GO TO 303
2) IF(INP(ML).NE.IF)GO TO 7720
2) C NEXT FOR 'DF' DUTY FACTOR IN PLACE OF A Pn. (TAKE OUT OLD DF STUFF LATER.)
2) CC ML=ML+1
2) C 'M' IS USED AFTER 897 INSTEAD OF 'ML'
2) LPAR=NUMP+2
2) C USE P101 FOR DF.
2) GO TO 1205
2) 303 IF(N.NE.'C')CALL ERR(0)
2) C NEXT FOR 'CONTINUATION'. AUTOMATICALLY PUSHES UP PARAM NUMS.
2) IOFSET=IOFSET+1
2) LPAR=IOLDPR+IOFSET
2) TYPE 1201,IOFSET
2) IF(LPAR.GT.NUMP)CALL ERR(6)
2) 2201 IF(INP(ML).EQ.IBLA)GO TO 3201
2) C TO MOVE POINTER AHEAD. MUST HAVE BLANK AFTER 'C' OR 'CO' OR 'CONT', ETC.
2) ML=ML+1
2) GO TO 2201
2) 3201 IZ=ML-1
2) M=0
2) GO TO 201
2) 1201 FORMAT(' →→→→→→ REMEMBER →→→→→ PARAMETER OFFSET=',I2)
2) 1 CALL SCANR
2) IOLDPR=VX1
2) C SAVE PARAM NUM. FOR POSSIBLE 'CONTINUATION'. BEWARE OF >P30!!!!
2) LPAR=IOLDPR
2) C******* IF(LPAR.GT.30)GO TO 201
2) IF(LPAR.GT.NUMP)GO TO 201
2) LPAR=LPAR+IOFSET
2) IF(LPAR.GT.NUMP)CALL ERR(6)
2) C******* IF(LPAR.GT.30)CALL ERR(6)
2) 201 IJ=LPAR
2) IF(IJ.GT.NUMP+2)CALL ERR(6)
2) C************** IF(IJ.GT.32)CALL ERR(6)
2) CATCHES PARAM. OUT OF RANGE.
2) IF(QX.GE.0)GO TO 5703
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 1,2
2) IJ=LPAR+4
2) C SETS UP PARAM FOR QUAD CALL
2) V(I)=IJ+INSNUM*10000
2) V(I+1)=2*ALL
2) C TEST "ALL" FEATURE HERE!!!!!!!
2) C X=-13(DEGREES),=-14(X,Y),=-15(CIRCLE FUNCTS),=-16(LINE FUNCTS)
2) V(I+2)=QX
2) I=I+3
2) QX=0.
2) 5703 IAMP=0
2) IF(IJ.LE.NP(INSNUM))GO TO 897
2) IF(IJ.LE.NUMP)NP(INSNUM)=IJ
2) C******* IF(IJ.LT.31)NP(INSNUM)=IJ
2) CC897 IF(LPAR.EQ.NUMP+2)LPAR=1
2) 897 V(I)=LPAR+INSNUM*10000
2) C +1=WDCNT, +2=CODE, +3='NM' CCCCC
2) IJ=I+1
2) I=I+4
2) ITMP=0
2) CODE=0
2) NFLG=1
2) ML=IZ+M
2) C RE=REP R=RHY L=LIT M=MOVE MX=MOVX N=NOTES NU=NUM
***************
**** File 1) S2.F4[M11,LCS], Page 2 line 40
1) 5702 ML=ML+1
1) CC IF(ML.GT.72)GO TO 99
1) N=INP(ML)
1) IF(N.EQ.IBLA)GO TO 5702
1) IF(N.EQ.',')GO TO 5702
1) NL=INP(ML+1)
1) JA=-1
1) ISUB=0
1) IF(N.EQ.IXX)GO TO 2703
1) IF(N.EQ.'R')GO TO 6702
1) IF(N.EQ.IF)GO TO 8702
1) IF(N.EQ.IPP)GO TO 7006
1) IF(N.NE.'C')GO TO 4005
1) IF(NL.EQ.'U')GO TO 7006
1) C FOR 'CUTOFF'
1) 4005 JA=0
1) IF(N.EQ.IEN)GO TO 6005
1) IF(N.EQ.'M')GO TO 703
1) IF(N.EQ.'L')GO TO 2720
1) IF(N.EQ.ISS)GO TO 6703
1) IF(N.EQ.ITT)GO TO 4018
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) IF(N.EQ.IQT)GO TO 5720
1) IF(N.EQ.ISEMI)GO TO 2018
1) 7006 CALL SCANR
1) IF(ISUB.EQ.8)GO TO 8
1) I=I+JJ
1) V(IJ+1)=NNUM+DF
1) IF(JJ.EQ.1)GO TO 4006
1) C IF NNUM IS '-2' THEN NOTES ARE PRINTED
1) IF(NNUM.NE.-2)GO TO 5006
1) IX=IJ+3
1) DO 2006 K=2,JJ,3
1) 2006 CALL RANR(VX,K)
1) C FOR RAN. SELEC. OF NOTES. FINDS HIGHEST NOTE.
1) 5006 IX=IJ+2
1) DO 6006 K=1,JJ
1) 6006 V(IX+K)=VX(K)
1) IF(NL.EQ.'U')GO TO 8006
1) V(IX+JJ-2)=1.
1) C ABOVE ENSURES THAT LAST RAND. UNIT REACHES 100% - 5/74 *********
1) GO TO 3013
1) 4006 IF(JA)VX1=-VX1/100.-9999.
1) C CHANGES ;P5 P3; TO ;P5 -9999.03; ***** CHECK OUT ON OTHER MACHINES!
1) V(I-1)=VX1
1) GO TO 3013
1) 8006 V(IJ+1)=-19
1) C FOR 'CUTOFF N1, N2' -- TO END RAND TIMES TOGETHER.
1) GO TO 3013
1) 6702 IF(NL.EQ.IE)GO TO 2703
1) C JUMP IF "REP"
1) IF(NL.EQ.ITT)GO TO 4018
1) C JUMP IF "RTAP"
1) CODE=-22
1) IF(NL.EQ.'L')CODE=-46.0
1) C JUMP IF "RLIST" (LIST OF RAND SELECTIONS)
1) IF(NL.NE.IEN)GO TO 1016
1) C JUMP IF NOT "RNOTES"
1) JA=0
1) C FOR SCANR
1) CODE=-36.
1) GO TO 1016
1) 6005 CODE=-33
1) IF(NL.EQ.'A')GO TO 2721
1) C NUMS, NOTES, NAMES.
1) IF(NL.NE.'U')GO TO 1016
1) CODE=-44.
1) 1610 JA=-1
1) GO TO 1016
1) 8702 CODE=-35
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) IF(NL.EQ.'U')GO TO 1016
1) ML=ML+1
1) CALL SCANR
1) 7 V(IJ+1)=CODE+DF
1) V(IJ+2)=1.
1) IF(VX1.GT.15)CALL ERR(4)
1) C TRAPS F NUMS >15.
1) V(I)=VX1+85.
1) GO TO 7703
1) C******** MOVE IS NEXT ***********
1) 703 BW=V(IJ-2)
1) IC=0
1) DO 7031 K=ML+1,LEND
1) LP=INP(K)
1) IF(LP.EQ.KSLA)GO TO 8031
1) IF(LP.EQ.IPP)IC=1
1) C 'MOVP' P7 MOVP/10 3,4.9 5,5.9;MOVES FROM RAN SEL. OF P3,P4 TO P5,P5.
1) 7031 IF(LP.EQ.IXX)IC=-1
1) C IC=-1 IS FOR MOVX, IC=0 FOR MOVE, IC=1 FOR MOVP.
1) 8031 I=I-1
1) V(I)=0
1) X=-9900.-BY
1) IF(BY.EQ.0)X=-9900.-BG(LK)
1) IF(BW.EQ.X)GO TO 8005
1) IF(BW.NE.-9900.-BY)GO TO 1102
1) V(IJ-2)=X
1) GO TO 8005
1) 1102 V(IJ)=V(IJ-1)
1) V(IJ-1)=X
1) IJ=IJ+1
1) I=I+1
1) 8005 LP=IJ-1
1) BW=-9900.-X
1) ISUB=2
1) IZ=-1
1) C ABOVE ARRANGES NECESSARY BG TIME HEADINGS.
1) 4703 GO TO 1299
1) 102 IF(IZ.LT.0)GO TO 2102
1) C SKIPS NEXT FIRST TIME
1) BW=V(ICT)+BW
1) V(I)=-9900.-BW
1) V(I+1)=V(LP)
1) V(I+2)=(JJ+2)*ALL
1) V(I+3)=CODE+DF
1) I=I+4
1) IZ=1
1) 2102 IF(BW.LT.10000.)CALL BGSORT(BW)
1) C ROUND-OFF NONSENSE
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) 2 VX3=-9900.
1) VX2=VX3
1) CALL SCANR
1) IF(JJ.GT.0)GO TO 5102
1) JJ=ILIT
1) C SLASH WILL REPEAT MOVE INPUT -- 6/74
1) DO 6102 K=1,JJ
1) 6102 VX(K)=VX(K+20)
1) GO TO 5005
1) C::::::::::::::: PUT THIS, AND AT 5505, IN SCOR5 ALSO ::::::::::::::
1) 5102 IF(JJ.EQ.4)CALL ERR(LN)
1) C ERROR -- 4 ITEMS IN MOVE IMPOSSIBLE
1) IF(VX3.NE.-9900.)GO TO 3102
1) IF(VX2.NE.-9900.)GO TO 4102
1) VX2=VX1
1) VX1=10000.
1) 4102 VX3=VX2
1) JJ=3
1) C 1,2 OR 3 NUMS CAN BE USED IN NON-RAN MOVES.
1) 3102 IF(IZ.GE.0)GO TO 3006
1) V(IJ)=(JJ+2)*ALL
1) C WORD COUNT
1) CODE=-55.
1) IF(JJ.NE.3)CODE=-57.
1) IF(NFLG)CODE=CODE-1.
1) IF(IC)CODE=-59.
1) C CODE=-56 OR -58 FOR NOTES.
1) V(IJ+1)=CODE+DF
1) IZ=0
1) 3006 IF(NFLG.EQ.1)GO TO 5005
1) CALL RANR(VX,2)
1) IF(JJ.NE.3)CALL RANR(VX,4)
1) C FOR RAN. SELEC. OF NOTES. FINDS HIGHEST NOTE.
1) 5005 IF(IC.LE.0)GO TO 3003
1) C NEXT FOR 'MOVP', MOVE FROM PARAM TO PARAM.
1) DO 1003 K=2,JJ
1) 1003 VX(K)=-VX(K)/100.0-9999.0
1) C CHANGES PARAM NUMS TO MAGIC NUMS.
1) 3003 ICT=I
1) ILIT=JJ
1) C SAVES FOR SLASH REPEAT FEATURE
1) IJ=IJ+1
1) DO 1006 K=1,JJ
1) VX(20+K)=VX(K)
1) C SAVES FOR SLASH REPEAT FEATURE
1) 1006 V(IJ+K)=VX(K)
1) I=I+JJ
1) IJ=I+2
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) IF(IAMP.EQ.0)GO TO 1299
1) C*************** MAY 18,71 ***** ALWAYS RESETS TO TIME 0 WHEN MOVE IS USED.
1) V(I)=-9900.-BY
1) GO TO 8703
1) 7703 V(IJ)=4.*ALL
1) 8703 I=I+1
1) GO TO 4773
1) C FOR SUBROUTINES, -12=NUMS. -11=LETTERS.
1) 6703 CODE=-12.
1) IF(INP(ML+3).EQ.'L')CODE=-11.
1) V(IJ)=2.*ALL
1) V(IJ+1)=CODE+DF
1) I=I-1
1) GO TO 4773
1) 4018 CNT(LK)=-9900.-BY
1) P(LK)=V(I-4)
1) CC 6/74 COLGATE JREAD=3
1) CC 6/74 COLGATE GO TO 4400
1) 1444 IF(READER(JNP))GO TO 197
1) C READS A LINE. IF END OF FILE, JUMPS.
1) LN=LN+1
1) CC443 IF(IFI)REREAD 107,K,IPT(LK,1)
1) CC IF(IFI.GE.0)REREAD 8001,IPT(LK,1)
1) CC443 IF(LN.NE.0)REREAD 107,K,IPT(LK,1)
1) C********* IF(LN.EQ.0)REREAD 8001,IPT(LK,1)
1) C NAME OF RHYTHM FILE. (ONLY ONE PER INST.) READS DATA JUST BEFORE RUN
1) IF(NAM.EQ.'COND')GO TO 444
1) C****** THIS PROBABLY MUST BE CHANGED FOR PDP11 *******
1) IF(NL.NE.ITT)GO TO 2338
1) CODE=-23.
1) GO TO 1016
1) 2338 I=I-4
1) GO TO 4773
1) 3018 CNT(KZY)=-9900.
1) LK=KZY
1) C TO PUT 'CONDUCT' FILE NAME IN LAST SLOT (KZY) AT 443
1) GO TO 1444
1) C****** THIS PROBABLY MUST BE CHANGED FOR PDP11 *******
1) 444 P(KZY)=-9797.
1) GO TO 2308
1) C CAN'T USE 'TAP' OR 'RTAP' WITH INST KZY IF USING 'CONDUCT'.
1) C 'REP'
1) 2703 ML=ML+1
1) VX1=0
1) VX2=0
1) VX3=0
1) IF(N.EQ.IXX)GO TO 2704
1) INP(ML)=IBLA
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) INP(ML+1)=IBLA
1) C WIPES OUT 'EP' IN 'REP'
1) 2704 CALL SCANR
1) V(IJ)=3.
1) V(IJ+1)=-66.0
1) IF(VX1.EQ.32.)VX1=1.
1) IF(VX1.EQ.0)VX1=LPAR
1) IF(VX2.EQ.0)VX2=LK-1
1) V(IJ+2)=VX1+VX2*10000.
1) KL=VX2
1) IF(DUR(LK).LT.0)DUR(LK)=DUR(KL)
1) IF(VX3.EQ.0)GO TO 4773
1) L=VX3
1) ML=LK+1
1) DO 1018 KL=ML,L
1) IF(LPAR.LE.NP(KL))GO TO 997
1) IF(LPAR.LT.31)NP(KL)=LPAR
1) 997 IF(DUR(KL))DUR(KL)=DUR(LK)
1) C TO SET DUR WHEN DUPLICATING NOTES THAT END WITH 'END;;'
1) V(I)=V(I-4)+10000.
1) V(I+1)=3.
1) V(I+2)=-66.
1) V(I+3)=V(I-1)
1) 1018 I=I+4
1) GO TO 4773
1) 2018 IF(DF.EQ.0)GO TO 20181
1) C NEXT FOR Pn SUBR/ I.E. NOTHING BUT P AND SUB CALL. 7/73
1) V(IJ+1)=-201.
1) V(IJ+2)=1.
1) V(IJ+3)=0
1) GO TO 7703
1) 20181 V(IJ)=3.
1) V(IJ+1)=-66.
1) V(IJ+2)=NW+LK*10000
1) GO TO 4773
1) C READS /P5 .3 "ABC" .7 "XYZ"/
1) 8 V(IJ+1)=-77.+DF
1) C DF HAS SUBR CALL INFO
1) I=I+1
1) VX(JJ-1)=1
1) C FOR RAND. SINGLE LITS.
1) DO 3722 K=1,JJ,2
1) V(I)=VX(K)
1) 3722 I=I+1
1) V(IJ+2)=JJ/2
1) V(IJ+3)=I
1) DO 4722 K=2,JJ,2
1) KN=I
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) I=I+1
1) L=VX(K)
1) DO 6722 KL=L,LEND
1) IF(INP(KL).EQ.IQT)GO TO 4722
1) IV(I)=INP(KL)
1) 6722 I=I+1
1) 4722 V(KN)=I-KN-1
1) V(IJ)=(I-IJ)*ALL
1) GO TO 4773
1) 2720 QTS=0
1) 2721 ISUB=104
1) IF(NL.EQ.'A')ISUB=ISUB+1
1) GO TO 1299
1) 104 KL=0
1) DO 6721 K=ML,LEND
1) L=INP(K)
1) IF(L.EQ.IBLA)GO TO 6721
1) JC=K+1
1) IF(L.EQ.IQT)GO TO 7721
1) IF(L.EQ.KSLA)GO TO 7232
1) IF(L.EQ.ISEMI)GO TO 7232
1) IF(L.NE.IF)GO TO 1040
1) IF(INP(K+1).NE.'I')GO TO 1040
1) IF(INP(K+2).NE.IEN)GO TO 1040
1) IF(INP(K+3).NE.IE)GO TO 1040
1) C FINDS THE WORD "FINE".
1) V(I)=-10000.
1) IF(DUR(LK))DUR(LK)=10000
1) GO TO 1042
1) 1040 IF(L.EQ.'%')INP(K)=KSLA
1) IF(L.EQ.'?')INP(K)=ISEMI
1) IF(L.EQ.'!')INP(K)=','
1) IF(L.EQ.'#')INP(K)='<'
1) IF(L.EQ.'&')INP(K)='"'
1) C THE ABOVE ARE ALL SPECIAL CHAR'S TO AVOID VARIOUS CONFUSIONS.
1) IF(KL.EQ.0)KL=K
1) 6721 CONTINUE
1) C FOR REPEAT OF ITEM BY SLASH
1) C KL IS START OF QUOTE, THEN K IS END -- WHEN NO "S ARE USED.
1) 7232 IF(KL.EQ.0)GO TO 7233
1) JC=KL
1) ML=K+1
1) JD=K-1
1) NLIT=K-KL
1) GO TO 8721
1) 7233 DO 7230 KL=ILIT,ILIT+NLIT
1) V(I)=V(KL)
1) 7230 I=I+1
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) GO TO 27222
1) 7231 CONTINUE
1) 5720 IAMP=-1
1) JC=ML+1
1) C FOR SINGLE 'LIT' ITEMS.
1) 7721 DO 1722 KL=JC+1,LEND
1) IF(INP(KL).NE.IQT)GO TO 1722
1) JD=KL-1
1) ML=KL+1
1) NLIT=KL-JC
1) C EXTENT OF LIT ITEM IS FOUND
1) GO TO 8721
1) 1722 CONTINUE
1) C CAN'T USE SLASH FOR REPEAT AFTER @Q
1) 8721 V(I)=NLIT
1) ILIT=I
1) DO 9721 K=JC,JD
1) C PUTS ITEM IN "IV" ARRAY
1) I=I+1
1) 9721 IV(I)=INP(K)
1) I=I+1
1) 27222 IF(IAMP.EQ.0)GO TO 1299
1) 2722 V(I)=999.
1) 1042 QTS=-1.
1) X=-88.
1) CNEW IF(ISUB.EQ.105)X=-89.
1) C 105, -89. FOR LIST OF NAMES FOR INST. NAME CHNGS.
1) 27221 V(IJ+1)=X+DF
1) V(IJ)=(I-IJ+1)*ALL
1) IJ=IJ+2
1) V(IJ)=IJ+1
1) I=I+1
1) ISUB=1
1) GO TO 1299
1) 7720 V(I)=LK
1) V(I+1)=3.
1) V(I+2)=-67.
1) ML=ML+4
1) CALL SCANR
1) V(I+3)=VX1
1) I=I+4
1) L=VX1
1) IF(NP(LK).LT.NP(L))NP(LK)=NP(L)
1) IF(DUR(LK).LT.0)DUR(LK)=DUR(L)
1) GO TO 4773
1) C TYPE 'DUPL N;' N=INST # TO BE DUPLICATED.
1) CCC142 FORMAT(I,15A5)
1) C***** ALL THESE 'A5'S PROBABLY MUST BE CHANGED FOR PDP11 *******
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) 1301 FORMAT(80A1)
1) 1302 FORMAT(1X15A5)
1) CCC2773 FORMAT(I,A5,72A1)
1) CC2114 FORMAT(I,80A1)
1) CCC300 FORMAT(I,3F,A1)
1) 301 FORMAT(3F,A1)
1) C****** NEXT (TO 1341) PROBABLY MUST BE CHANGED FOR PDP11 *******
1) CCC6 IF(NAM.NE.'PREC')GO TO 1341
1) C 'PRECEDE' WRITES LINES DIRECTLY ON DSK, BEFORE THE WORD 'PLAY;'.
**** File 2) SC2X.F4[M11,LCS], Page 3 line 88
2) 5702 ML=ML+1
2) CC IF(ML.GT.72)GO TO 99
2) N=INP(ML)
2) IF(N.EQ.IBLA)GO TO 5702
2) IF(N.EQ.',')GO TO 5702
2) NL=INP(ML+1)
2) JA=-1
2) ISUB=0
2) IF(N.EQ.IXX)GO TO 2703
2) IF(N.EQ.'R')GO TO 6702
2) IF(N.EQ.IF)GO TO 8702
2) IF(N.EQ.IPP)GO TO 7006
2) IF(N.EQ.ID)GO TO 3702
2) IF(N.NE.'C')GO TO 4005
2) IF(NL.EQ.'U')GO TO 7006
2) C FOR 'CUTOFF'
2) 4005 JA=0
2) IF(N.EQ.IEN)GO TO 6005
2) IF(N.EQ.'M')GO TO 703
2) IF(N.EQ.'L')GO TO 2720
2) IF(N.EQ.ISS)GO TO 6703
2) IF(N.EQ.ITT)GO TO 4018
2) IF(N.EQ.IQT)GO TO 5720
2) IF(N.EQ.ISEMI)GO TO 2018
2) C 7/75 IF(N.EQ.IPP)JA=-1
2) C FOR ;P5 P3;
2) 7006 CALL SCANR
2) IF(ISUB.EQ.8)GO TO 8
2) I=I+JJ
2) V(IJ+1)=NNUM+SUB
2) IF(JJ.EQ.1)GO TO 4006
2) C IF NNUM IS '-2' THEN NOTES ARE PRINTED
2) IF(NNUM.NE.-2)GO TO 5006
2) IX=IJ+3
2) DO 2006 K=2,JJ,3
2) 2006 CALL RANR(VX,K)
2) C FOR RAN. SELEC. OF NOTES. FINDS HIGHEST NOTE.
2) 5006 IX=IJ+2
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) DO 6006 K=1,JJ
2) 6006 V(IX+K)=VX(K)
2) IF(NL.EQ.'U')GO TO 8006
2) C JUMP FOR 'CUTOFF'
2) IF(MOD(JJ,3).NE.0)CALL ERR(12)
2) V(IX+JJ-2)=1.
2) C ABOVE ENSURES THAT LAST RAND. UNIT REACHES 100% - 5/74 *********
2) GO TO 3013
2) CCCC NOW DONE IN 'SCANR' 7/78 4006 IF(JA)VX1=-VX1/100.-9999.
2) C CHANGES ;P5 P3; TO ;P5 -9999.03; ***** CHECK OUT ON OTHER MACHINES!
2) CIRC4006 IF(JA)VX1=VX1/100.+9999.
2) CIRC CHANGES ;P5 P3; TO ;P5 9999.03; ***** CHECK OUT ON OTHER MACHINES!
2) 4006 V(I-1)=VX1
2) GO TO 3013
2) 8006 V(IJ+1)=-19
2) C FOR 'CUTOFF N1, N2' -- TO END RAND TIMES TOGETHER.
2) GO TO 3013
2) 6702 IF(NL.EQ.IE)GO TO 2703
2) C JUMP IF "REP"
2) IF(NL.EQ.ITT)GO TO 4018
2) C JUMP IF "RTAP"
2) IF(NL.EQ.'R')GO TO 702
2) C RR=RAN. RESTS
2) IF(NL.EQ.ID)GO TO 1702
2) C RD=RAN. DEV. OF P1
2) CODE=-22
2) IF(NL.EQ.'L')CODE=-46.0
2) C JUMP IF "RLIST" (LIST OF RAND SELECTIONS)
2) IF(NL.NE.IEN)GO TO 1016
2) C JUMP IF NOT "RNOTES"
2) JA=0
2) C FOR SCANR
2) CODE=-36.
2) GO TO 1016
2) 702 K=100
2) C PARAM CODE FOR RAN. RESTS
2) GO TO 2702
2) 1702 K=1
2) C PARAM CODE FOR RAN. DEV.
2) GO TO 2702
2) 3702 IF(NL.NE.IF)GO TO 4005
2) K=101
2) C PARAM CODE FOR DUTY FAC.
2) 2702 V(I+1)=V(I-4)
2) C SHIFT STUFF AROUND
2) V(I-4)=INSNUM*10000+K
2) V(I-3)=4.
2) V(I-2)=-1.
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) V(I-1)=1.
2) V(I)=-9999.0-LPAR/100.0
2) I=I+5
2) IJ=IJ+5
2) ML=ML+1
2) GO TO 5702
2) 6005 CODE=-33
2) IF(NL.EQ.'A')GO TO 2721
2) C NUMS, NOTES, NAMES.
2) IF(NL.NE.'U')GO TO 1016
2) CODE=-44.
2) 1610 JA=-1
2) GO TO 1016
2) 8702 CODE=-35
2) IF(NL.EQ.'U')GO TO 1016
2) ML=ML+1
2) CALL SCANR
2) 7 V(IJ+1)=CODE+SUB
2) V(IJ+2)=1.
2) IF(VX1.GT.99)CALL ERR(4)
2) C TRAPS F NUMS >99.
2) V(I)=VX1+200.
2) CC IF(VX1.GT.15)CALL ERR(4)
2) C TRAPS F NUMS >15.
2) CC V(I)=VX1+85.
2) GO TO 7703
2) C******** MOVE IS NEXT ***********
2) 703 BW=V(IJ-2)
2) IC=0
2) CC DO 7031 K=ML+1,72
2) DO 7031 K=ML+1,LEND
2) LP=INP(K)
2) IF(LP.EQ.KSLA)GO TO 8031
2) CC IF(INP(K).EQ.ISEMI)GO TO 8031
2) IF(LP.EQ.IPP)IC=1
2) C 'MOVP' P7 MOVP/10 3,4.9 5,5.9;MOVES FROM RAN SEL. OF P3,P4 TO P5,P5.
2) 7031 IF(LP.EQ.IXX)IC=-1
2) C IC=-1 IS FOR MOVX, IC=0 FOR MOVE, IC=1 FOR MOVP.
2) 8031 I=I-1
2) V(I)=0
2) X=-9900.-BY
2) IF(BY.EQ.0)X=-9900.-BG(INSNUM)
2) IF(BW.EQ.X)GO TO 8005
2) IF(BW.NE.-9900.-BY)GO TO 1102
2) V(IJ-2)=X
2) GO TO 8005
2) 1102 V(IJ)=V(IJ-1)
2) V(IJ-1)=X
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) IJ=IJ+1
2) I=I+1
2) 8005 LP=IJ-1
2) BW=-9900.-X
2) ISUB=2
2) IZ=-1
2) C ABOVE ARRANGES NECESSARY BG TIME HEADINGS.
2) 4703 GO TO 1299
2) 102 IF(IZ.LT.0)GO TO 2102
2) C SKIPS NEXT FIRST TIME
2) BW=V(ICT)+BW
2) V(I)=-9900.-BW
2) V(I+1)=V(LP)
2) V(I+2)=(JJ+2)*ALL
2) V(I+3)=CODE+SUB
2) I=I+4
2) IZ=1
2) 2102 IF(BW.LT.10000.)CALL BGSORT(BW)
2) C ROUND-OFF NONSENSE
2) 2 VX3=-9900.
2) VX2=VX3
2) CALL SCANR
2) IF(JJ.GT.0)GO TO 5102
2) JJ=ILIT
2) C SLASH WILL REPEAT MOVE INPUT -- 6/74
2) DO 6102 K=1,JJ
2) 6102 VX(K)=VX(K+20)
2) GO TO 5005
2) C::::::::::::::: PUT THIS, AND AT 5505, IN SCOR5 ALSO ::::::::::::::
2) 5102 IF(JJ.EQ.4)CALL ERR(9)
2) C ERROR -- 4 ITEMS IN MOVE IMPOSSIBLE
2) IF(VX3.NE.-9900.)GO TO 3102
2) IF(VX2.NE.-9900.)GO TO 4102
2) VX2=VX1
2) VX1=10000.
2) 4102 VX3=VX2
2) JJ=3
2) C 1,2 OR 3 NUMS CAN BE USED IN NON-RAN MOVES.
2) 3102 IF(IZ.GE.0)GO TO 3006
2) V(IJ)=(JJ+2)*ALL
2) C WORD COUNT
2) CODE=-55.
2) IF(JJ.NE.3)CODE=-57.
2) IF(NFLG)CODE=CODE-1.
2) IF(IC)CODE=-59.
2) C CODE=-56 OR -58 FOR NOTES.
2) V(IJ+1)=CODE+SUB
2) IZ=0
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) 3006 IF(NFLG.EQ.1)GO TO 5005
2) CALL RANR(VX,2)
2) IF(JJ.NE.3)CALL RANR(VX,4)
2) C FOR RAN. SELEC. OF NOTES. FINDS HIGHEST NOTE.
2) 5005 IF(IC.LE.0)GO TO 3003
2) C NEXT FOR 'MOVP', MOVE FROM PARAM TO PARAM.
2) DO 1003 K=2,JJ
2) 1003 VX(K)=-VX(K)/100.0-19999.0
2) CIRC1003 VX(K)=VX(K)/100.0+9999.0
2) C CHANGES PARAM NUMS TO MAGIC NUMS.
2) 3003 ICT=I
2) ILIT=JJ
2) C SAVES FOR SLASH REPEAT FEATURE
2) IJ=IJ+1
2) DO 1006 K=1,JJ
2) VX(20+K)=VX(K)
2) C SAVES FOR SLASH REPEAT FEATURE
2) 1006 V(IJ+K)=VX(K)
2) I=I+JJ
2) IJ=I+2
2) IF(IAMP.EQ.0)GO TO 1299
2) C*************** MAY 18,71 ***** ALWAYS RESETS TO TIME 0 WHEN MOVE IS USED.
2) V(I)=-9900.-BY
2) GO TO 8703
2) 7703 V(IJ)=4.*ALL
2) 8703 I=I+1
2) GO TO 4773
2) C FOR SUBROUTINES, -12=NUMS. -11=LETTERS.
2) 6703 CODE=-12.
2) IF(INP(ML+3).EQ.'L')CODE=-11.
2) V(IJ)=2.*ALL
2) V(IJ+1)=CODE+SUB
2) I=I-1
2) GO TO 4773
2) 4018 CNT(INSNUM)=-9900.-BY
2) P(INSNUM)=V(I-4)
2) CC 6/74 COLGATE JREAD=3
2) CC 6/74 COLGATE GO TO 4400
2) 1444 IF(READER(JNP))CALL RUNIT
2) C READS A LINE. IF END OF FILE, JUMPS.
2) CC443 IF(IFI)REREAD 107,K,IPT(INSNUM,1)
2) CC IF(IFI.GE.0)REREAD 8001,IPT(INSNUM,1)
2) 443 IF(LN.NE.0)REREAD 107,K,IPT(INSNUM,1)
2) IF(LN.EQ.0)REREAD 8001,IPT(INSNUM,1)
2) C NAME OF RHYTHM FILE. (ONLY ONE PER INST.) READS DATA JUST BEFORE RUN
2) IF(J.EQ.'CONDU')GO TO 444
2) IF(NL.NE.ITT)GO TO 2338
2) CODE=-23.
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) GO TO 1016
2) 2338 I=I-4
2) GO TO 4773
2) 3018 CNT(KZY)=-9900.
2) INSNUM=KZY
2) C TO PUT 'CONDUCT' FILE NAME IN LAST SLOT (KZY) AT 443
2) GO TO 1444
2) 444 P(KZY)=980000.
2) GO TO 2308
2) C CAN'T USE 'TAP' OR 'RTAP' WITH INST KZY IF USING 'CONDUCT'.
2) C 'REP'
2) 2703 ML=ML+1
2) VX1=0
2) VX2=0
2) VX3=0
2) IF(N.EQ.IXX)GO TO 2704
2) INP(ML)=IBLA
2) INP(ML+1)=IBLA
2) C WIPES OUT 'EP' IN 'REP'
2) 2704 CALL SCANR
2) V(IJ)=3.
2) V(IJ+1)=-66.0
2) IF(VX1.EQ.32.)VX1=1.
2) IF(VX1.EQ.0)VX1=LPAR
2) IF(VX2.EQ.0)VX2=INSNUM-1
2) V(IJ+2)=VX1+VX2*10000.
2) KL=VX2
2) IF(DUR(INSNUM).LT.0)DUR(INSNUM)=DUR(KL)
2) IF(VX3.EQ.0)GO TO 4773
2) L=VX3
2) ML=INSNUM+1
2) DO 1018 KL=ML,L
2) IF(LPAR.LE.NP(KL))GO TO 997
2) IF(LPAR.LT.31)NP(KL)=LPAR
2) 997 IF(DUR(KL))DUR(KL)=DUR(INSNUM)
2) C TO SET DUR WHEN DUPLICATING NOTES THAT END WITH 'END;;'
2) V(I)=V(I-4)+10000.
2) V(I+1)=3.
2) V(I+2)=-66.
2) V(I+3)=V(I-1)
2) 1018 I=I+4
2) GO TO 4773
2) 2018 IF(SUB.EQ.0)GO TO 20181
2) C NEXT FOR Pn SUBR/ I.E. NOTHING BUT P AND SUB CALL. 7/73
2) V(IJ+1)=-201.
2) V(IJ+2)=1.
2) V(IJ+3)=0
2) GO TO 7703
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) 20181 V(IJ)=3.
2) V(IJ+1)=-66.
2) V(IJ+2)=NW+INSNUM*10000
2) GO TO 4773
2) C READS /P5 .3 "ABC" .7 "XYZ"/
2) 8 IF(MOD(JJ,2).NE.0)CALL ERR(12)
2) IF(LPAR.EQ.2)CALL ERR(13)
2) V(IJ+1)=-77.+SUB
2) C SUB HAS SUBR CALL INFO
2) I=I+1
2) VX(JJ-1)=1
2) C FOR RAND. SINGLE LITS.
2) DO 3722 K=1,JJ,2
2) V(I)=VX(K)
2) 3722 I=I+1
2) V(IJ+2)=JJ/2
2) V(IJ+3)=I
2) DO 4722 K=2,JJ,2
2) KN=I
2) I=I+1
2) L=VX(K)
2) DO 6722 KL=L,LEND
2) IF(INP(KL).EQ.IQT)GO TO 4722
2) IV(I)=INP(KL)
2) 6722 I=I+1
2) 4722 V(KN)=I-KN-1
2) V(IJ)=(I-IJ)*ALL
2) GO TO 4773
2) 2720 QTS=0
2) 2721 ISUB=104
2) IF(NL.EQ.'A')ISUB=ISUB+1
2) GO TO 1299
2) 104 IF(ISUB.EQ.104)GO TO 1041
2) C NEXT FOR INST NAME CHANGES. Pn NAMES/N;
2) C V LIST= n000n/WDCNT/-89/NUM OF DUPLS/INST NAME/NUM OF LETTERS IN NAME/
2) C *********** NO 'ALL' OR 'DUPL' FEATURES WITH NAMES **************
2) V(IJ)=5
2) V(IJ+1)=-89
2) CALL SCANR
2) V(I-1)=VX1
2) IV(I)=INST(INSNUM)
2) CXX IV(I+1)=2**(1+(7-LETRS)*7)
2) I=I+2
2) GO TO 4773
2) 1041 KL=0
2) CODE=-88.
2) DO 6721 K=ML,LEND
2) L=INP(K)
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) IF(L.EQ.IBLA)GO TO 6721
2) JC=K+1
2) IF(L.EQ.IQT)GO TO 7721
2) IF(L.EQ.KSLA)GO TO 7232
2) IF(L.EQ.ISEMI)GO TO 7232
2) IF(L.NE.IF)GO TO 1040
2) IF(INP(K+1).NE.'I')GO TO 1040
2) IF(INP(K+2).NE.IEN)GO TO 1040
2) IF(INP(K+3).NE.IE)GO TO 1040
2) C FINDS THE WORD "FINE".
2) V(I)=-10000.
2) IF(DUR(INSNUM))DUR(INSNUM)=10000
2) GO TO 1042
2) 1040 IF(L.EQ.'%')INP(K)=KSLA
2) IF(L.EQ.'?')INP(K)=ISEMI
2) IF(L.EQ.'!')INP(K)=','
2) IF(L.EQ.'#')INP(K)='<'
2) IF(L.EQ.'&')INP(K)='"'
2) C THE ABOVE ARE ALL SPECIAL CHAR'S TO AVOID VARIOUS CONFUSIONS.
2) IF(KL.EQ.0)KL=K
2) 6721 CONTINUE
2) C FOR REPEAT OF ITEM BY SLASH
2) C KL IS START OF QUOTE, THEN K IS END -- WHEN NO "S ARE USED.
2) 7232 IF(KL.EQ.0)GO TO 7233
2) JC=KL
2) ML=K+1
2) JD=K-1
2) NLIT=K-KL
2) GO TO 8721
2) 7233 DO 7230 KL=ILIT,ILIT+NLIT
2) V(I)=V(KL)
2) 7230 I=I+1
2) GO TO 27222
2) 7231 CONTINUE
2) 5720 IAMP=-1
2) JC=ML+1
2) C FOR SINGLE 'LIT' ITEMS.
2) 7721 DO 1722 KL=JC+1,LEND
2) IF(INP(KL).NE.IQT)GO TO 1722
2) JD=KL-1
2) ML=KL+1
2) NLIT=KL-JC
2) C EXTENT OF LIT ITEM IS FOUND
2) GO TO 8721
2) 1722 CONTINUE
2) C CAN'T USE SLASH FOR REPEAT AFTER @Q
2) 8721 V(I)=NLIT
2) ILIT=I
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) DO 9721 K=JC,JD
2) C PUTS ITEM IN "IV" ARRAY
2) I=I+1
2) 9721 IV(I)=INP(K)
2) I=I+1
2) 27222 IF(IAMP.EQ.0)GO TO 1299
2) 2722 V(I)=999.
2) 1042 QTS=-1.
2) CODE=-88.
2) CXCX X=-88.
2) CNEW IF(ISUB.EQ.105)X=-89.
2) C 105, -89. FOR LIST OF NAMES FOR INST. NAME CHNGS.
2) IF(LPAR.EQ.2)CALL ERR(13)
2) C NO 'LIT' WITH P2!!
2) V(IJ+1)=CODE+SUB
2) CXCX V(IJ+1)=X+SUB
2) V(IJ)=(I-IJ+1)*ALL
2) IJ=IJ+2
2) V(IJ)=IJ+1
2) I=I+1
2) ISUB=1
2) GO TO 1299
2) 7720 V(I)=INSNUM
2) V(I+1)=3.
2) V(I+2)=-67.
2) ML=ML+4
2) IF(JRSTA.EQ.0)CALL SCANR
2) IF(VX1.EQ.0)VX1=INSNUM-1
2) C DUPL 0; = DUPL PREV. INST. NUM
2) V(I+3)=VX1
2) I=I+4
2) L=VX1
2) IF(NP(INSNUM).LT.NP(L))NP(INSNUM)=NP(L)
2) IF(JRSTA.NE.0)GO TO 2173
2) C GO BACK IF THIS WAS AN AUTOMATIC 'DUPL' WITH A 'RESTART' (DUR IS DIFFERENT)
2) IF(DUR(INSNUM).LT.0)DUR(INSNUM)=DUR(L)
2) CXXXXXXX IF(JRSTA.NE.0)GO TO 2173
2) CXXXXXXXC GO BACK IF THIS WAS AN AUTOMATIC 'DUPL' WITH A 'RESTART'
2) GO TO 4773
2) C TYPE 'DUPL N;' N=INST # TO BE DUPLICATED.
2) 142 FORMAT(I,15A5)
2) 1301 FORMAT(15A5)
2) 1302 FORMAT(1X15A5)
2) CCC2773 FORMAT(I,A5,72A1)
2) CC2114 FORMAT(I,80A1)
2) 300 FORMAT(I,3F,A1)
2) 301 FORMAT(3F,A1)
2) 6 IF(J.NE.'PRECE')GO TO 1341
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) C 'PRECEDE' WRITES LINES DIRECTLY ON DSK, BEFORE THE WORD 'PLAY;'.
***************
**** File 1) S2.F4[M11,LCS], Page 2 line 415
1) C***** NEXT IS FOR TWO-PART SCORE PROG.****WRITES -1 FLAG FOR LATER READIN
1) 66 K=-1
1) WRITE(1)K
1) 4341 IF(ITYP.LT.0)GO TO 2341
1) TYPE TPALN
1) CC ACCEPT 1301,KNP ******* OLD KNP ARRAY WAS 15, NOW USE JNP, 80.
1) ACCEPT 1301,JNP
1) IF(INP1.EQ.'*')GO TO 5341
1) CALL SHORT(JNP,K)
1) WRITE(1)K,(JNP(JD),JD=1,K)
1) CCC WRITE(21,1301)(KNP(JD),JD=1,K)
1) GO TO 6341
1) 1303 FORMAT(1X80A1)
1) 2341 READ(23,1301)JNP
1) CC2341 READ(23,1301)KNP
1) LN=LN+1
1) CALL SHORT(JNP,K)
1) C DON'T TYPE TRAILING BLANKS
1) TYPE 1303,(JNP(JD),JD=1,K)
1) CC TYPE 1302,(KNP(JD),JD=1,K)
1) CCC IF(MX.NE.22)TYPE 1302,(KNP(JD),JD=1,K)
1) CCC6341 IF(MX.EQ.22)WRITE(JOUT,1302)(KNP(JD),JD=1,K)
1) 6341 IF(INP1.EQ.'*')GO TO 5341
1) WRITE(1)K,(JNP(JD),JD=1,K)
1) CCC IF(MX)WRITE(1,1301)(KNP(JD),JD=1,K)
1) GO TO 2341
1) C*** NEXT IS FOR TWO-PART SCORE PROG.**WRITES -1, ENDS READIN
1) 5341 K=-1
1) WRITE(1)K
1) GO TO 2308
1) CCC1341 KB=KB+1
1) 6 KB=KB+1
1) IF(JED.GT.0)JED=0
1) C****** NEXT PROBABLY MUST BE CHANGED FOR PDP11 *******
1) IF(NAM.EQ.'INSE')GO TO 1340
1) OTH(KB,1)=VX1*100000.+VX2*100.+VX3
1) GO TO 340
1) 1340 X=VX1
1) IF(VX2.NE.0)X=1000000.+VX1*100000.+VX2
1) OTH(KB,1)=X
1) GO TO 1338
1) C ABOVE IS TO PUT INSERT AFTER NOTE # OF A PARTICULAR
**** File 2) SC2X.F4[M11,LCS], Page 3 line 520
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) 4341 IF(ITYP)GO TO 5341
2) TYPE TPALN
2) ACCEPT 1301,KNP
2) CALL SHORT(KNP,K)
2) WRITE(21,1301)(KNP(JD),JD=1,K)
2) GO TO 6341
2) 5341 IF(LN.EQ.0)GO TO 2341
2) CC5341 IF(IFI.GE.0)GO TO 2341
2) READ(23,142,END=7341)K,KNP
2) GO TO 3341
2) 7341 CALL ERR(10)
2) C GO TO ERROR ROUTINE IF MISSING "*".
2) STOP
2) 2341 READ(23,1301,END=7341)KNP
2) 3341 CALL SHORT(KNP,K)
2) C DON'T TYPE TRAILING BLANKS
2) IF(MX.EQ.22)GO TO 6341
2) IF(SOS)TYPE 1302,(KNP(JD),JD=1,K)
2) 6341 IF(MX.EQ.22)WRITE(JOUT,1302)(KNP(JD),JD=1,K)
2) CC REREAD 77732,JD
2) C 77732 READS A1 FORMAT.
2) IF(KNP(1).EQ.'*')GO TO 2308
2) CC IF(JD.EQ.'*')GO TO 2308
2) IF(MX)WRITE(1,1301)(KNP(JD),JD=1,K)
2) CC IF(MX)WRITE(23,1301)KNP
2) GO TO 4341
2) 1341 KB=KB+1
2) IF(JED.GT.0)JED=0
2) IF(J.EQ.'INSER')GO TO 1340
2) OTH(KB,1)=VX1*100000.+VX2*100.+VX3
2) GO TO 340
2) 1340 X=VX1
2) IF(VX2.NE.0)X=1000000.+VX1*100000.+VX2
2) OTH(KB,1)=X
2) GO TO 1338
2) C ABOVE IS TO PUT INSERT AFTER NOTE # OF A PARTICULAR
***************
**** File 1) S2.F4[M11,LCS], Page 2 line 461
1) IF(ITYP.GE.0)GO TO 449
1) CC JREAD=5
1) CC 6/74 COLGATE GO TO 4400
1) IF(READER(JNP))GO TO 197
1) C READS A LINE. IF END OF FILE, JUMPS.
1) LN=LN+1
1) 445 OTH(KB,3)=1.
1) CC IF(IFI.GE.0)GO TO 447
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
1) CCC IF(LN.EQ.0)GO TO 447
1) CCC REREAD 300,K,OTH(KB,2)
1) CCC GO TO 1447
1) 447 REREAD 301,OTH(KB,2)
1) 1447 IF(JED)GO TO 2308
1) 3445 TYPE 4309
1) ACCEPT 8732,K
1) IF(K.EQ.IG)JED=-1
1) C****** NEXT PROBABLY MUST BE CHANGED FOR PDP11 *******
1) IF(NAM.EQ.'INSE')GO TO 3446
1) IF(K.NE.'Y')GO TO 2308
1) IF(JED)GO TO 2308
1) 449 TYPE TPALN
1) ACCEPT 301,OTH(KB,2)
1) IF(JED)WRITE(21,301) OTH(KB,2)
1) GO TO 2308
1) 1338 IF(ITYP.GE.0)GO TO 1449
1) CC JREAD=6
1) CC 6/74 COLGATE GO TO 4400
1) IF(READER(JNP))GO TO 197
1) C READS A LINE. IF END OF FILE, JUMPS.
1) LN=LN+1
1) CC446 IF(IFI.GE.0)GO TO 448
1) CCC446 IF(LN.EQ.0)GO TO 448
1) CCC REREAD 142,K,(OTH(KB,JD),JD=2,16)
1) CCC GO TO 1446
1) 448 REREAD 1301,(OTH(KB,JD),JD=2,16)
1) C*********REREAD??????
1) 1446 IF(JED)2446,3445,2446
1) 3446 IF(K.NE.'Y')GO TO 2446
1) IF(JED.LT.0)GO TO 2446
1) 1449 TYPE TPALN
1) ACCEPT 1301,(OTH(KB,JD),JD=2,16)
1) IF(JED.LT.0)WRITE(21,1301)(OTH(KB,JD),JD=2,16)
1) 2446 X=OTH(KB,2)
1) C****** NEXT PROBABLY MUST BE CHANGED FOR PDP11 *******
1) IF(NAM.NE.'INSE')GO TO 971
1) IF(VX3.EQ.0)GO TO 971
1) IF(X.NE.'*')GO TO 6
1) 971 IF(X.EQ.'*')KB=KB-1
1) C ALLOWS SEVERAL LINES OF 'INSERT' IF ANY 3RD #.
1) C LAST LINE HAS '*' IN COLUMN 1.
1) GO TO 2308
1) C IF NO PARAM NUM IS GIVEN, ALL PARAMS MUST BE TYPED.
**** File 2) SC2X.F4[M11,LCS], Page 3 line 560
2) IF(ITYP.GE.0)GO TO 449
2) CC JREAD=5
2) CC 6/74 COLGATE GO TO 4400
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
2) IF(READER(JNP))CALL RUNIT
2) C READS A LINE. IF END OF FILE, JUMPS.
2) 445 OTH(KB,3)=1.
2) CC IF(IFI.GE.0)GO TO 447
2) IF(LN.EQ.0)GO TO 447
2) REREAD 300,K,OTH(KB,2)
2) GO TO 1447
2) 447 REREAD 301,OTH(KB,2)
2) CIRC447 REREAD 301,OTH(KB,2)
2) 1447 IF(JED)GO TO 2308
2) 3445 TYPE TEDIT
2) ACCEPT 77732,K
2) CALL LO2UP(K)
2) IF(K.EQ.IG)JED=-1
2) IF(J.EQ.'INSER')GO TO 3446
2) IF(K.NE.'Y')GO TO 2308
2) IF(JED)GO TO 2308
2) 449 TYPE TPALN
2) ACCEPT 301,OTH(KB,2)
2) IF(JED)WRITE(21,301) OTH(KB,2)
2) GO TO 2308
2) 1338 IF(ITYP.GE.0)GO TO 1449
2) CC JREAD=6
2) CC 6/74 COLGATE GO TO 4400
2) IF(READER(JNP))CALL RUNIT
2) C READS A LINE. IF END OF FILE, JUMPS.
2) CC446 IF(IFI.GE.0)GO TO 448
2) 446 IF(LN.EQ.0)GO TO 448
2) REREAD 142,K,(OTH(KB,JD),JD=2,16)
2) GO TO 1446
2) 448 REREAD 1301,(OTH(KB,JD),JD=2,16)
2) 1446 IF(JED)2446,3445,2446
2) 3446 IF(K.NE.'Y')GO TO 2446
2) IF(JED)GO TO 2446
2) 1449 TYPE TPALN
2) ACCEPT 1301,(OTH(KB,JD),JD=2,16)
2) IF(JED)WRITE(21,1301)(OTH(KB,JD),JD=2,16)
2) 2446 X=OTH(KB,2)
2) IF(J.NE.'INSER')GO TO 971
2) IF(VX3.EQ.0)GO TO 971
2) IF(X.NE.'*')GO TO 6
2) 971 IF(X.EQ.'*')KB=KB-1
2) C ALLOWS SEVERAL LINES OF 'INSERT' IF ANY 3RD #.
2) C LAST LINE HAS '*' IN COLUMN 1.
2) GO TO 2308
2) C IF NO PARAM NUM IS GIVEN, ALL PARAMS MUST BE TYPED.
***************
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 2,3
**** File 1) S2.F4[M11,LCS], Page 3 line 1
1) 1106 KTMP=1
1) TP=60.
1) IAMP=0
1) BW=BY
1) ITMP=-1
1) ISUB=5
1) JA=-1
1) GO TO 2016
1) 3019 V(I)=990000.00
1) V(I+1)=4.
1) V(I+2)=VX1
1) V(I+3)=VX2/TP
1) V(I+4)=VX3/TP
1) I=I+5
1) BY=BW
1) C SEPT 18, 70
1) IF(VX1.EQ.0)GO TO 2308
1) BW=BW+VX1
1) V(I)=-9900.-BW
1) I=I+1
1) CALL BGSORT(BW)
1) 9003 IF(IAMP.LT.0)GO TO 4003
1) 2016 VX3=0
1) VX2=0
1) GO TO 1299
1) 5 IF(VX2.NE.0)GO TO 105
1) C 'TEMPO/120;' OR 'TEMPO/1.5 72;' IS OK.
1) VX2=VX1
1) VX1=0
1) 105 IF(VX3.EQ.0)VX3=VX2
1) IF(VX2.LT.11.)TP=1.
1) IF(NAM.EQ.ITMPO)GO TO 3019
1) PCH(1,KTMP)=VX1
1) PCH(2,KTMP)=VX2
1) PCH(3,KTMP)=VX3
1) C PCH(1)=TIME (2)=MM1 (3)=MM2
1) KTMP=KTMP+1
1) IF(IAMP.EQ.0)GO TO 2016
1) 4003 VX1=0
1) IAMP=0
1) VX2=VX3
1) IF(J.EQ.ITMPO)GO TO 3019
1) PCH(1,KTMP)=0
1) PCH(2,KTMP)=VX2
1) PCH(3,KTMP)=VX2
1) C MM CAN BE FROM 11 UP TEMPO FACTOR FROM 10 DOWN.
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
**** File 2) SC2X.F4[M11,LCS], Page 4 line 1
2) 1106 KTMP=1
2) CC TP=60.
2) IAMP=0
2) BW=BY
2) ITMP=-1
2) ISUB=5
2) JA=-1
2) GO TO 2016
2) 3019 V(I)=990000.00
2) V(I+1)=4.
2) V(I+2)=VX1
2) V(I+3)=VX2
2) V(I+4)=VX3
2) CC V(I+3)=VX2/TP
2) CC V(I+4)=VX3/TP
2) I=I+5
2) BY=BW
2) C SEPT 18, 70
2) IF(VX1.EQ.0)GO TO 2308
2) BW=BW+VX1
2) V(I)=-9900.-BW
2) I=I+1
2) CALL BGSORT(BW)
2) 9003 IF(IAMP)GO TO 4003
2) 2016 VX3=0
2) VX2=0
2) GO TO 1299
2) 5 IF(VX2.NE.0)GO TO 105
2) C 'TEMPO/120;' OR 'TEMPO/1.5 72;' IS OK.
2) VX2=VX1
2) VX1=0
2) 105 IF(VX2.GE.12.)VX2=VX2/60.
2) C TEMPO < 12 = A FACTOR, ≥12 = MM. NUM.
2) IF(VX3.GE.12.)VX3=VX3/60.
2) IF(VX3.EQ.0)VX3=VX2
2) CC105 IF(VX3.EQ.0)VX3=VX2
2) CC IF(VX2.LT.11.)TP=1.
2) IF(J.EQ.ITMPO)GO TO 3019
2) PCH(1,KTMP)=VX1
2) PCH(2,KTMP)=VX2
2) PCH(3,KTMP)=VX3
2) C PCH(1)=TIME (2)=MM1 (3)=MM2
2) KTMP=KTMP+1
2) IF(IAMP.EQ.0)GO TO 2016
2) 4003 VX1=0
2) IAMP=0
2) VX2=VX3
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
2) IF(J.EQ.ITMPO)GO TO 3019
2) PCH(1,KTMP)=0
2) PCH(2,KTMP)=VX2
2) PCH(3,KTMP)=VX2
2) C MM CAN BE FROM 11 UP TEMPO FACTOR FROM 10 DOWN.
***************
**** File 1) S2.F4[M11,LCS], Page 3 line 51
1) 3100 V(I-2)=CODE+DF
1) ISUB=3
1) 5016 IF(IAMP.GE.0)GO TO 1299
1) 117 IF(IZ-2)3013,9004,9004
1) 103 K=INP(ML)
1) IF(K.EQ.ITT)GO TO 1106
1) IF(K.EQ.KSLA)GO TO 1014
1) IF(K.EQ.ISEMI)GO TO 1014
1) CZZZZZZZZZZZZ CC ZZZZZZZZZZZZ
1) IF(K.NE.IPP)GO TO 1010
1) IF(JA.GE.0)GO TO 1899
1) JA=-2
1) GO TO 1011
1) 1010 IF(K.NE.IBLA) GO TO 1899
1) 1011 ML=ML+1
1) GO TO 103
1) 3 IF(VX1.EQ.-99.)GO TO 4022
1) IF(CODE.EQ.-22.)GO TO 2017
1) IF(CODE.LT.-23)GO TO 17
1) IF(IZ/2*2.EQ.IZ)GO TO 17
1) C CHECKS PAIRS OF NUMBERS FOR 'RTAP'
1) 2017 IF(VX1.EQ.-10000.)GO TO 17
1) CIRC2017 IF(VX1.EQ.10000.)GO TO 17
1) VX1=4./VX1
1) IF(JJ.NE.1)GO TO 2014
1) V(I)=VX1
1) GO TO 114
1) 1217 IF(VX1.EQ.-10000.)GO TO 114
1) CIRC1217 IF(VX1.EQ.10000.)GO TO 114
1) C FOR "FINE" IN LIST
**** File 2) SC2X.F4[M11,LCS], Page 4 line 57
2) 3100 V(I-2)=CODE+SUB
2) ISUB=3
2) 5016 IF(IAMP.GE.0)GO TO 1299
2) 117 IF(IZ-2)3013,9004,9004
2) 103 K=INP(ML)
2) IF(K.EQ.ITT)GO TO 1106
2) IF(K.EQ.KSLA)GO TO 1014
2) IF(K.EQ.ISEMI)GO TO 1014
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
2) CZZZZZZZZZZZZ CC ZZZZZZZZZZZZ
2) CCC NOW DONE IN 'SCANR' IF(K.NE.IPP)GO TO 1010
2) CCC IF(JA.GE.0)GO TO 1899
2) CCC JA=-2
2) CCC GO TO 1011
2) 1010 IF(K.NE.IBLA) GO TO 1899
2) 1011 ML=ML+1
2) GO TO 103
2) 3 IF(VX1.EQ.-99.)GO TO 4022
2) IF(CODE.EQ.-22.)GO TO 2017
2) IF(CODE.LT.-23)GO TO 17
2) IF(IZ/2*2.EQ.IZ)GO TO 17
2) C CHECKS PAIRS OF NUMBERS FOR 'RTAP'
2) 2017 IF(VX1.LT.-9999.)GO TO 3017
2) CZZ2017 IF(VX1.EQ.-10000.)GO TO 17
2) CIRC2017 IF(VX1.EQ.10000.)GO TO 17
2) IF(VX1.NE.0)VX1=4./VX1
2) C RHYTHMIC INPUT OF 0 GIVES 0 DURATION REST!!!
2) IF(JJ.NE.1)GO TO 2014
2) 3017 V(I)=VX1
2) GO TO 114
2) 1217 IF(VX1.EQ.-10000.)GO TO 114
2) CIRC1217 IF(VX1.EQ.10000.)GO TO 114
2) C FOR "FINE" IN LIST
***************
**** File 1) S2.F4[M11,LCS], Page 3 line 84
1) 2217 I=I+1
1) C SETS UP STRING OF RAND SELECTIONS
1) GO TO 114
1) 3217 V(I)=V(I-2)
1) V(I+1)=RB
1) C FOR SLASH REPTS OF RAND SELEC UNITS. ("REP" CAN'T BE USED!)
1) GO TO 2217
1) C******** PUT IN ERROR TRAP FOR "REP" ETC. ******
1) 2014 DO 9006 L=2,JJ
1) IF(VX(L).EQ.0)GO TO 17
1) 9006 VX1=4./VX(L)+VX1
1) JJ=1
1) 17 IF(JA.NE.-2)GO TO 1012
1) VX1=-9999.0-VX1/100.0
1) JA=-1
1) 1012 IF(ICHD.EQ.0)GO TO 4014
1) JJ=1
1) C SETS UP NEXT NOTE AS CHORD (THIS ONE BECOMES NEG.)
1) VX1=-VX1
1) C FOR CHORD FEATURE
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
1) ICHD=0
1) 4014 V(I)=VX1
1) IF(CODE.EQ.-46.)GO TO 1217
1) IF(CODE.EQ.-36.)GO TO 1217
1) IF(CODE.NE.-35)GO TO 972
1) IF(VX1.GT.15)CALL ERR(4)
1) C FINDS F NUM.>15!
1) C JUMP IF STRING OF RAND SELECS.
1) 972 IF(JJ.EQ.1)GO TO 114
1) L=VX(JJ)-1
1) X=V(I)
1) NL=I+1
1) I=L+I
1) DO 1017 K=NL,I
1) 1017 V(K)=X
1) C ADDS UP TOTAL OF NOTES IN SEQ.
1) IZ=IZ+L
1) GO TO 114
1) 1014 IF(CODE.EQ.-46.)GO TO 3217
1) IF(CODE.EQ.-36.)GO TO 3217
1) IF(CODE.NE.-33)GO TO 1103
1) IF(V(I-2).GE.0)GO TO 1103
1) C NEXT FOR SLASH REPEAT OF CHORD
1) CCC I=I-1
1) JC=1
1) JD=1
1) GO TO 2103
1) 1103 V(I)=RB
1) C RB SAVES IT FOR SLASH REPEAT
**** File 2) SC2X.F4[M11,LCS], Page 4 line 92
2) 2217 I=I+1
2) C SETS UP STRING OF RAND SELECTIONS
2) GO TO 114
2) 3217 V(I)=V(I-2)
2) V(I+1)=RB
2) C FOR SLASH REPTS OF RAND SELEC UNITS. ("REP" CAN'T BE USED!)
2) GO TO 2217
2) C******** PUT IN ERROR TRAP FOR "REP" ETC. ******
2) 2014 DO 9006 L=2,JJ
2) IF(VX(L).EQ.0)GO TO 17
2) 9006 VX1=4./VX(L)+VX1
2) JJ=1
2) CCC NOW DONE IN 'SCANR' 17 IF(JA.NE.-2)GO TO 1012
2) CCC VX1=-9999.0-VX1/100.0
2) CCC JA=-1
2) CCC1012 IF(ICHD.EQ.0)GO TO 4014
2) 17 IF(ICHD.EQ.0)GO TO 4014
2) JJ=1
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
2) C SETS UP NEXT NOTE AS CHORD (THIS ONE BECOMES NEG.)
2) VX1=-VX1
2) C FOR CHORD FEATURE
2) ICHD=0
2) 4014 V(I)=VX1
2) IF(CODE.EQ.-46.)GO TO 1217
2) IF(CODE.EQ.-36.)GO TO 1217
2) IF(CODE.NE.-35)GO TO 972
2) C****************** 8/78 IF(VX1.GT.15)CALL ERR(4)
2) C FINDS F NUM.>15!
2) C JUMP IF STRING OF RAND SELECS.
2) 972 IF(JJ.EQ.1)GO TO 114
2) L=VX(JJ)-1
2) X=V(I)
2) NL=I+1
2) I=L+I
2) DO 1017 K=NL,I
2) 1017 V(K)=X
2) C ADDS UP TOTAL OF NOTES IN SEQ.
2) IZ=IZ+L
2) GO TO 114
2) 1014 IF(CODE.EQ.-46.)GO TO 3217
2) IF(CODE.EQ.-36.)GO TO 3217
2) IF(CODE.NE.-33)GO TO 1103
2) IF(V(I-2).GE.0)GO TO 1103
2) C NEXT FOR SLASH REPEAT OF CHORD
2) CCC I=I-1
2) JC=1
2) JD=1
2) GO TO 2103
2) 1103 V(I)=RB
2) C RB SAVES IT FOR SLASH REPEAT
***************
**** File 1) S2.F4[M11,LCS], Page 3 line 138
1) 4022 JC=VX2+.3
1) JD=VX3-.5
1) IF(JJ.EQ.2)JD=1
1) C********* MAY 19,71 ----MANY LINES ABOVE.
1) 2103 IZ=IZ+JC*JD
1) C JD=HOW MANY TIMES, JC=HOW MANY NOTES
1) IF(CODE.NE.-33)GO TO 3103
1) 8103 N=0
1) V(IA-1)=0
1) DO 4103 K=I-1,1,-1
1) IF(V(K).GE.0)N=N+1
1) 4103 IF(N.EQ.JC)GO TO 5103
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
1) 5103 IF(V(K-1).GE.0)GO TO 6103
1) IF(V(K).EQ.0)GO TO 6103
1) K=K-1
1) GO TO 5103
1) 6103 JC=I-K
1) CC I=I+1
1) 3103 DO 1005 K=1,JD
1) NL=I+JC-1
1) DO 2005 L=I,NL
1) 2005 V(L)=V(L-JC)
1) 1005 I=I+JC
1) RB=V(NL)
1) C RB SAVES DATA FOR SLASH REPEAT FEATURE.
1) GO TO 5016
1) 9004 IF(ITMP.EQ.0)GO TO 3013
1) IZ=IZ-1
1) C***** JAN. 1974
**** File 2) SC2X.F4[M11,LCS], Page 4 line 147
2) 4022 JC=VX2+.3
2) JD=VX3-.5
2) IF(JJ.EQ.2)JD=1
2) C********* MAY 19,71 ----MANY LINES ABOVE.
2) 2103 IZ=IZ+JC*JD
2) C JD=HOW MANY TIMES, JC=HOW MANY NOTES
2) IF(CODE.NE.-33)GO TO 3103
2) 8103 N=0
2) V(IA-1)=0
2) DO 4103 K=I-1,1,-1
2) IF(V(K).GE.0)GO TO 7103
2) IF(V(K).GT.-9999.0)GO TO 4103
2) C NEG. NUMBS USUALLY ARE CHORD NOTES, -9999.N IS SECONDARY PARAM.
2) 7103 N=N+1
2) 4103 IF(N.EQ.JC)GO TO 5103
2) 5103 IF(V(K-1).GE.0)GO TO 6103
2) IF(V(K).EQ.0)GO TO 6103
2) K=K-1
2) GO TO 5103
2) 6103 JC=I-K
2) CC I=I+1
2) 3103 DO 1005 K=1,JD
2) NL=I+JC-1
2) DO 2005 L=I,NL
2) 2005 V(L)=V(L-JC)
2) 1005 I=I+JC
2) RB=V(NL)
2) C RB SAVES DATA FOR SLASH REPEAT FEATURE.
2) GO TO 5016
2) 9004 IF(ITMP.EQ.0)GO TO 3013
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
2) IZ=IZ-1
2) C***** JAN. 1974
***************
**** File 1) S2.F4[M11,LCS], Page 3 line 172
1) J=1
1) Z=0
1) RC=0
1) 9007 Y=PCH(3,IC)/TP
1) X=PCH(2,IC)/TP
1) Z=PCH(1,IC)
1) CALL SQYY(YY,X,Y,Z)
1) XT(1)=X
1) PR=RA
**** File 2) SC2X.F4[M11,LCS], Page 4 line 184
2) J=1
2) Z=0
2) RC=0
2) 9007 Y=PCH(3,IC)
2) X=PCH(2,IC)
2) CC9007 Y=PCH(3,IC)/TP
2) CC X=PCH(2,IC)/TP
2) Z=PCH(1,IC)
2) CALL SQYY(YY,X,Y,Z)
2) XT(1)=X
2) PR=RA
***************
**** File 1) S2.F4[M11,LCS], Page 3 line 186
1) IF(RA.NE.-10000.)GO TO 9007
1) C********* MAY 13,71 OMITS REPEATED RHY. FEATURE.
1) 3013 X=I-IJ
1) V(IJ+2)=X-3.
1) V(IJ)=X*ALL
1) IF(CODE.NE.-35)GO TO 4773
1) M=IJ+3
1) C SETS NUMBERS FOR FUNCS.
1) DO 313 K=M,I-1
1) 313 IF(V(K).LT.85.)V(K)=V(K)+85.
1) GO TO 4773
1) END
1) X=PCH(2,IC)/TP
1) Z=PCH(1,IC)
1) CALL SQYY(YY,X,Y,Z)
1) XT(1)=X
1) PR=RA
1) S2.F4[M11,LCS] and 2) SC2X.F4[M11,LCS] 11-29-78 16:19 pages 3,4
**** File 2) SC2X.F4[M11,LCS], Page 4 line 200
2) IF(RA.NE.-10000.)GO TO 9007
2) C********* MAY 13,71 OMITS REPEATED RHY. FEATURE.
2) 3013 X=I-IJ
2) V(IJ+2)=X-3.
2) V(IJ)=X*ALL
2) IF(CODE.NE.-35)GO TO 4773
2) M=IJ+3
2) C SETS NUMBERS FOR FUNCS.
2) DO 313 K=M,I-1
2) X=V(K)
2) IF(X.LT.-9999.)GO TO 313
2) CATCHES 'FINE'(-10000), F1-F99 ONLY PLEASE. USE NEG. FOR REST IN FUNC LIST.
2) CC IF(X.LE.0)V(K)=85.
2) CC IF(X.EQ.85)GO TO 313
2) C 'R' CAN APPEAR IN FUNC LIST (BUT NOW YOU CAN'T USE F85!!!)
2) CC IF(X.GT.15.)CALL ERR(4)
2) CC V(K)=X+85.
2) V(K)=X+200.
2) IF(X.LT.0)V(K)=199.
2) CCC IF(X.LT.85.)V(K)=X+85.
2) 313 CONTINUE
2) GO TO 4773
2) END
***************